summaryrefslogtreecommitdiffstats
path: root/subcmds/sync.py
diff options
context:
space:
mode:
authorChirayu Desai <cdesai@cyanogenmod.org>2013-03-01 19:14:38 +0530
committerChirayu Desai <cdesai@cyanogenmod.org>2013-04-18 21:35:49 +0530
commit217ea7d2747e3098009afe0b389fc4b45f55ea5a (patch)
tree4ea2663a01fb22002ec6cd6ede9cb3babd89a692 /subcmds/sync.py
parentfef4ae74e26efecf5c803793351b6c843eab4970 (diff)
downloadgit-repo-217ea7d2747e3098009afe0b389fc4b45f55ea5a.tar.gz
Some fixes for supporting python3
* Fix imports. * Use python3 syntax. * Wrap map() calls with list(). * Use list() only wherever needed. (Thanks Conley!) * Fix dictionary iteration methods (s/iteritems/items/). * Make use of sorted() in appropriate places * Use iterators directly in the loop. * Don't use .keys() wherever it isn't needed. * Use sys.maxsize instead of sys.maxint TODO: * Make repo work fully with python3. :) Some of this was done by the '2to3' tool [1], by applying the needed fixes in a way that doesn't break compatibility with python2. Links: [1]: http://docs.python.org/2/library/2to3.html Change-Id: Ibdf3bf9a530d716db905733cb9bfef83a48820f7 Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r--subcmds/sync.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 42c5f915..8fb94885 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -24,8 +24,24 @@ import socket
24import subprocess 24import subprocess
25import sys 25import sys
26import time 26import time
27import urlparse 27try:
28import xmlrpclib 28 # For python3
29 import urllib.parse
30except ImportError:
31 # For python2
32 import imp
33 import urlparse
34 urllib = imp.new_module('urllib')
35 urllib.parse = urlparse
36try:
37 # For python3
38 import xmlrpc.client
39except ImportError:
40 # For python2
41 import imp
42 import xmlrpclib
43 xmlrpc = imp.new_module('xmlrpc')
44 xmlrpc.client = xmlrpclib
29 45
30try: 46try:
31 import threading as _threading 47 import threading as _threading
@@ -498,7 +514,7 @@ later is required to fix a server side protocol bug.
498 file=sys.stderr) 514 file=sys.stderr)
499 else: 515 else:
500 try: 516 try:
501 parse_result = urlparse.urlparse(manifest_server) 517 parse_result = urllib.parse(manifest_server)
502 if parse_result.hostname: 518 if parse_result.hostname:
503 username, _account, password = \ 519 username, _account, password = \
504 info.authenticators(parse_result.hostname) 520 info.authenticators(parse_result.hostname)
@@ -516,7 +532,7 @@ later is required to fix a server side protocol bug.
516 1) 532 1)
517 533
518 try: 534 try:
519 server = xmlrpclib.Server(manifest_server) 535 server = xmlrpc.client.Server(manifest_server)
520 if opt.smart_sync: 536 if opt.smart_sync:
521 p = self.manifest.manifestProject 537 p = self.manifest.manifestProject
522 b = p.GetBranch(p.CurrentBranch) 538 b = p.GetBranch(p.CurrentBranch)
@@ -525,8 +541,7 @@ later is required to fix a server side protocol bug.
525 branch = branch[len(R_HEADS):] 541 branch = branch[len(R_HEADS):]
526 542
527 env = os.environ.copy() 543 env = os.environ.copy()
528 if (env.has_key('TARGET_PRODUCT') and 544 if 'TARGET_PRODUCT' in env and 'TARGET_BUILD_VARIANT' in env:
529 env.has_key('TARGET_BUILD_VARIANT')):
530 target = '%s-%s' % (env['TARGET_PRODUCT'], 545 target = '%s-%s' % (env['TARGET_PRODUCT'],
531 env['TARGET_BUILD_VARIANT']) 546 env['TARGET_BUILD_VARIANT'])
532 [success, manifest_str] = server.GetApprovedManifest(branch, target) 547 [success, manifest_str] = server.GetApprovedManifest(branch, target)
@@ -554,11 +569,11 @@ later is required to fix a server side protocol bug.
554 else: 569 else:
555 print('error: %s' % manifest_str, file=sys.stderr) 570 print('error: %s' % manifest_str, file=sys.stderr)
556 sys.exit(1) 571 sys.exit(1)
557 except (socket.error, IOError, xmlrpclib.Fault) as e: 572 except (socket.error, IOError, xmlrpc.client.Fault) as e:
558 print('error: cannot connect to manifest server %s:\n%s' 573 print('error: cannot connect to manifest server %s:\n%s'
559 % (self.manifest.manifest_server, e), file=sys.stderr) 574 % (self.manifest.manifest_server, e), file=sys.stderr)
560 sys.exit(1) 575 sys.exit(1)
561 except xmlrpclib.ProtocolError as e: 576 except xmlrpc.client.ProtocolError as e:
562 print('error: cannot connect to manifest server %s:\n%d %s' 577 print('error: cannot connect to manifest server %s:\n%d %s'
563 % (self.manifest.manifest_server, e.errcode, e.errmsg), 578 % (self.manifest.manifest_server, e.errcode, e.errmsg),
564 file=sys.stderr) 579 file=sys.stderr)