|
@@ -101,6 +101,7 @@ global_options.add_option('--event-log',
|
|
|
dest='event_log', action='store',
|
|
dest='event_log', action='store',
|
|
|
help='filename of event log to append timeline to')
|
|
help='filename of event log to append timeline to')
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class _Repo(object):
|
|
class _Repo(object):
|
|
|
def __init__(self, repodir):
|
|
def __init__(self, repodir):
|
|
|
self.repodir = repodir
|
|
self.repodir = repodir
|
|
@@ -300,11 +301,13 @@ repo: error:
|
|
|
cp %s %s
|
|
cp %s %s
|
|
|
""" % (exp_str, WrapperPath(), repo_path), file=sys.stderr)
|
|
""" % (exp_str, WrapperPath(), repo_path), file=sys.stderr)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def _CheckRepoDir(repo_dir):
|
|
def _CheckRepoDir(repo_dir):
|
|
|
if not repo_dir:
|
|
if not repo_dir:
|
|
|
print('no --repo-dir argument', file=sys.stderr)
|
|
print('no --repo-dir argument', file=sys.stderr)
|
|
|
sys.exit(1)
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def _PruneOptions(argv, opt):
|
|
def _PruneOptions(argv, opt):
|
|
|
i = 0
|
|
i = 0
|
|
|
while i < len(argv):
|
|
while i < len(argv):
|
|
@@ -320,6 +323,7 @@ def _PruneOptions(argv, opt):
|
|
|
continue
|
|
continue
|
|
|
i += 1
|
|
i += 1
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class _UserAgentHandler(urllib.request.BaseHandler):
|
|
class _UserAgentHandler(urllib.request.BaseHandler):
|
|
|
def http_request(self, req):
|
|
def http_request(self, req):
|
|
|
req.add_header('User-Agent', user_agent.repo)
|
|
req.add_header('User-Agent', user_agent.repo)
|
|
@@ -329,6 +333,7 @@ class _UserAgentHandler(urllib.request.BaseHandler):
|
|
|
req.add_header('User-Agent', user_agent.repo)
|
|
req.add_header('User-Agent', user_agent.repo)
|
|
|
return req
|
|
return req
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def _AddPasswordFromUserInput(handler, msg, req):
|
|
def _AddPasswordFromUserInput(handler, msg, req):
|
|
|
# If repo could not find auth info from netrc, try to get it from user input
|
|
# If repo could not find auth info from netrc, try to get it from user input
|
|
|
url = req.get_full_url()
|
|
url = req.get_full_url()
|
|
@@ -342,6 +347,7 @@ def _AddPasswordFromUserInput(handler, msg, req):
|
|
|
return
|
|
return
|
|
|
handler.passwd.add_password(None, url, user, password)
|
|
handler.passwd.add_password(None, url, user, password)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class _BasicAuthHandler(urllib.request.HTTPBasicAuthHandler):
|
|
class _BasicAuthHandler(urllib.request.HTTPBasicAuthHandler):
|
|
|
def http_error_401(self, req, fp, code, msg, headers):
|
|
def http_error_401(self, req, fp, code, msg, headers):
|
|
|
_AddPasswordFromUserInput(self, msg, req)
|
|
_AddPasswordFromUserInput(self, msg, req)
|
|
@@ -351,6 +357,7 @@ class _BasicAuthHandler(urllib.request.HTTPBasicAuthHandler):
|
|
|
def http_error_auth_reqed(self, authreq, host, req, headers):
|
|
def http_error_auth_reqed(self, authreq, host, req, headers):
|
|
|
try:
|
|
try:
|
|
|
old_add_header = req.add_header
|
|
old_add_header = req.add_header
|
|
|
|
|
+
|
|
|
def _add_header(name, val):
|
|
def _add_header(name, val):
|
|
|
val = val.replace('\n', '')
|
|
val = val.replace('\n', '')
|
|
|
old_add_header(name, val)
|
|
old_add_header(name, val)
|
|
@@ -365,6 +372,7 @@ class _BasicAuthHandler(urllib.request.HTTPBasicAuthHandler):
|
|
|
self.retried = 0
|
|
self.retried = 0
|
|
|
raise
|
|
raise
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class _DigestAuthHandler(urllib.request.HTTPDigestAuthHandler):
|
|
class _DigestAuthHandler(urllib.request.HTTPDigestAuthHandler):
|
|
|
def http_error_401(self, req, fp, code, msg, headers):
|
|
def http_error_401(self, req, fp, code, msg, headers):
|
|
|
_AddPasswordFromUserInput(self, msg, req)
|
|
_AddPasswordFromUserInput(self, msg, req)
|
|
@@ -374,6 +382,7 @@ class _DigestAuthHandler(urllib.request.HTTPDigestAuthHandler):
|
|
|
def http_error_auth_reqed(self, auth_header, host, req, headers):
|
|
def http_error_auth_reqed(self, auth_header, host, req, headers):
|
|
|
try:
|
|
try:
|
|
|
old_add_header = req.add_header
|
|
old_add_header = req.add_header
|
|
|
|
|
+
|
|
|
def _add_header(name, val):
|
|
def _add_header(name, val):
|
|
|
val = val.replace('\n', '')
|
|
val = val.replace('\n', '')
|
|
|
old_add_header(name, val)
|
|
old_add_header(name, val)
|
|
@@ -388,6 +397,7 @@ class _DigestAuthHandler(urllib.request.HTTPDigestAuthHandler):
|
|
|
self.retried = 0
|
|
self.retried = 0
|
|
|
raise
|
|
raise
|
|
|
|
|
|
|
|
|
|
+
|
|
|
class _KerberosAuthHandler(urllib.request.BaseHandler):
|
|
class _KerberosAuthHandler(urllib.request.BaseHandler):
|
|
|
def __init__(self):
|
|
def __init__(self):
|
|
|
self.retried = 0
|
|
self.retried = 0
|
|
@@ -468,6 +478,7 @@ class _KerberosAuthHandler(urllib.request.BaseHandler):
|
|
|
kerberos.authGSSClientClean(self.context)
|
|
kerberos.authGSSClientClean(self.context)
|
|
|
self.context = None
|
|
self.context = None
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def init_http():
|
|
def init_http():
|
|
|
handlers = [_UserAgentHandler()]
|
|
handlers = [_UserAgentHandler()]
|
|
|
|
|
|
|
@@ -495,6 +506,7 @@ def init_http():
|
|
|
handlers.append(urllib.request.HTTPSHandler(debuglevel=1))
|
|
handlers.append(urllib.request.HTTPSHandler(debuglevel=1))
|
|
|
urllib.request.install_opener(urllib.request.build_opener(*handlers))
|
|
urllib.request.install_opener(urllib.request.build_opener(*handlers))
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def _Main(argv):
|
|
def _Main(argv):
|
|
|
result = 0
|
|
result = 0
|
|
|
|
|
|
|
@@ -551,5 +563,6 @@ def _Main(argv):
|
|
|
TerminatePager()
|
|
TerminatePager()
|
|
|
sys.exit(result)
|
|
sys.exit(result)
|
|
|
|
|
|
|
|
|
|
+
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
|
_Main(sys.argv[1:])
|
|
_Main(sys.argv[1:])
|