diff options
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r-- | subcmds/sync.py | 31 |
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 | |||
24 | import subprocess | 24 | import subprocess |
25 | import sys | 25 | import sys |
26 | import time | 26 | import time |
27 | import urlparse | 27 | try: |
28 | import xmlrpclib | 28 | # For python3 |
29 | import urllib.parse | ||
30 | except ImportError: | ||
31 | # For python2 | ||
32 | import imp | ||
33 | import urlparse | ||
34 | urllib = imp.new_module('urllib') | ||
35 | urllib.parse = urlparse | ||
36 | try: | ||
37 | # For python3 | ||
38 | import xmlrpc.client | ||
39 | except ImportError: | ||
40 | # For python2 | ||
41 | import imp | ||
42 | import xmlrpclib | ||
43 | xmlrpc = imp.new_module('xmlrpc') | ||
44 | xmlrpc.client = xmlrpclib | ||
29 | 45 | ||
30 | try: | 46 | try: |
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) |