summaryrefslogtreecommitdiffstats
path: root/repo
diff options
context:
space:
mode:
Diffstat (limited to 'repo')
-rwxr-xr-xrepo33
1 files changed, 22 insertions, 11 deletions
diff --git a/repo b/repo
index 7c633fc3..060ea6d1 100755
--- a/repo
+++ b/repo
@@ -122,7 +122,18 @@ import os
122import re 122import re
123import subprocess 123import subprocess
124import sys 124import sys
125import urllib2 125try:
126 import urllib2
127except ImportError:
128 # For python3
129 import urllib.request
130 import urllib.error
131else:
132 # For python2
133 import imp
134 urllib = imp.new_module('urllib')
135 urllib.request = urllib2
136 urllib.error = urllib2
126 137
127home_dot_repo = os.path.expanduser('~/.repoconfig') 138home_dot_repo = os.path.expanduser('~/.repoconfig')
128gpg_dir = os.path.join(home_dot_repo, 'gnupg') 139gpg_dir = os.path.join(home_dot_repo, 'gnupg')
@@ -355,7 +366,7 @@ def _SetConfig(local, name, value):
355def _InitHttp(): 366def _InitHttp():
356 handlers = [] 367 handlers = []
357 368
358 mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() 369 mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()
359 try: 370 try:
360 import netrc 371 import netrc
361 n = netrc.netrc() 372 n = netrc.netrc()
@@ -365,16 +376,16 @@ def _InitHttp():
365 mgr.add_password(p[1], 'https://%s/' % host, p[0], p[2]) 376 mgr.add_password(p[1], 'https://%s/' % host, p[0], p[2])
366 except: 377 except:
367 pass 378 pass
368 handlers.append(urllib2.HTTPBasicAuthHandler(mgr)) 379 handlers.append(urllib.request.HTTPBasicAuthHandler(mgr))
369 handlers.append(urllib2.HTTPDigestAuthHandler(mgr)) 380 handlers.append(urllib.request.HTTPDigestAuthHandler(mgr))
370 381
371 if 'http_proxy' in os.environ: 382 if 'http_proxy' in os.environ:
372 url = os.environ['http_proxy'] 383 url = os.environ['http_proxy']
373 handlers.append(urllib2.ProxyHandler({'http': url, 'https': url})) 384 handlers.append(urllib.request.ProxyHandler({'http': url, 'https': url}))
374 if 'REPO_CURL_VERBOSE' in os.environ: 385 if 'REPO_CURL_VERBOSE' in os.environ:
375 handlers.append(urllib2.HTTPHandler(debuglevel=1)) 386 handlers.append(urllib.request.HTTPHandler(debuglevel=1))
376 handlers.append(urllib2.HTTPSHandler(debuglevel=1)) 387 handlers.append(urllib.request.HTTPSHandler(debuglevel=1))
377 urllib2.install_opener(urllib2.build_opener(*handlers)) 388 urllib.request.install_opener(urllib.request.build_opener(*handlers))
378 389
379def _Fetch(url, local, src, quiet): 390def _Fetch(url, local, src, quiet):
380 if not quiet: 391 if not quiet:
@@ -423,14 +434,14 @@ def _DownloadBundle(url, local, quiet):
423 dest = open(os.path.join(local, '.git', 'clone.bundle'), 'w+b') 434 dest = open(os.path.join(local, '.git', 'clone.bundle'), 'w+b')
424 try: 435 try:
425 try: 436 try:
426 r = urllib2.urlopen(url) 437 r = urllib.request.urlopen(url)
427 except urllib2.HTTPError as e: 438 except urllib.error.HTTPError as e:
428 if e.code == 404: 439 if e.code == 404:
429 return False 440 return False
430 print >>sys.stderr, 'fatal: Cannot get %s' % url 441 print >>sys.stderr, 'fatal: Cannot get %s' % url
431 print >>sys.stderr, 'fatal: HTTP error %s' % e.code 442 print >>sys.stderr, 'fatal: HTTP error %s' % e.code
432 raise CloneFailure() 443 raise CloneFailure()
433 except urllib2.URLError as e: 444 except urllib.error.URLError as e:
434 print >>sys.stderr, 'fatal: Cannot get %s' % url 445 print >>sys.stderr, 'fatal: Cannot get %s' % url
435 print >>sys.stderr, 'fatal: error %s' % e.reason 446 print >>sys.stderr, 'fatal: error %s' % e.reason
436 raise CloneFailure() 447 raise CloneFailure()