Change print statements to work in python3
This is part of a series of changes to introduce Python3 support.
Change-Id: I373be5de7141aa127d7debdbce1df39148dbec32
diff --git a/subcmds/sync.py b/subcmds/sync.py
index d638911..a64f2c4 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import print_function
import netrc
from optparse import SUPPRESS_HELP
import os
@@ -234,9 +235,10 @@
did_lock = True
if not success:
- print >>sys.stderr, 'error: Cannot fetch %s' % project.name
+ print('error: Cannot fetch %s' % project.name, file=sys.stderr)
if opt.force_broken:
- print >>sys.stderr, 'warn: --force-broken, continuing to sync'
+ print('warn: --force-broken, continuing to sync',
+ file=sys.stderr)
else:
raise _FetchError()
@@ -265,9 +267,9 @@
clone_bundle=not opt.no_clone_bundle):
fetched.add(project.gitdir)
else:
- print >>sys.stderr, 'error: Cannot fetch %s' % project.name
+ print('error: Cannot fetch %s' % project.name, file=sys.stderr)
if opt.force_broken:
- print >>sys.stderr, 'warn: --force-broken, continuing to sync'
+ print('warn: --force-broken, continuing to sync', file=sys.stderr)
else:
sys.exit(1)
else:
@@ -300,7 +302,7 @@
# If we saw an error, exit with code 1 so that other scripts can check.
if err_event.isSet():
- print >>sys.stderr, '\nerror: Exited sync due to fetch errors'
+ print('\nerror: Exited sync due to fetch errors', file=sys.stderr)
sys.exit(1)
pm.end()
@@ -353,7 +355,7 @@
t.join()
if err_event.isSet():
- print >>sys.stderr, '\nerror: Exited sync due to gc errors'
+ print('\nerror: Exited sync due to gc errors', file=sys.stderr)
sys.exit(1)
def UpdateProjectList(self):
@@ -390,12 +392,14 @@
groups = None)
if project.IsDirty():
- print >>sys.stderr, 'error: Cannot remove project "%s": \
-uncommitted changes are present' % project.relpath
- print >>sys.stderr, ' commit changes, then run sync again'
+ print('error: Cannot remove project "%s": uncommitted changes'
+ 'are present' % project.relpath, file=sys.stderr)
+ print(' commit changes, then run sync again',
+ file=sys.stderr)
return -1
else:
- print >>sys.stderr, 'Deleting obsolete path %s' % project.worktree
+ print('Deleting obsolete path %s' % project.worktree,
+ file=sys.stderr)
shutil.rmtree(project.worktree)
# Try deleting parent subdirs if they are empty
project_dir = os.path.dirname(project.worktree)
@@ -423,24 +427,24 @@
self.jobs = min(self.jobs, (soft_limit - 5) / 3)
if opt.network_only and opt.detach_head:
- print >>sys.stderr, 'error: cannot combine -n and -d'
+ print('error: cannot combine -n and -d', file=sys.stderr)
sys.exit(1)
if opt.network_only and opt.local_only:
- print >>sys.stderr, 'error: cannot combine -n and -l'
+ print('error: cannot combine -n and -l', file=sys.stderr)
sys.exit(1)
if opt.manifest_name and opt.smart_sync:
- print >>sys.stderr, 'error: cannot combine -m and -s'
+ print('error: cannot combine -m and -s', file=sys.stderr)
sys.exit(1)
if opt.manifest_name and opt.smart_tag:
- print >>sys.stderr, 'error: cannot combine -m and -t'
+ print('error: cannot combine -m and -t', file=sys.stderr)
sys.exit(1)
if opt.manifest_server_username or opt.manifest_server_password:
if not (opt.smart_sync or opt.smart_tag):
- print >>sys.stderr, 'error: -u and -p may only be combined with ' \
- '-s or -t'
+ print('error: -u and -p may only be combined with -s or -t',
+ file=sys.stderr)
sys.exit(1)
if None in [opt.manifest_server_username, opt.manifest_server_password]:
- print >>sys.stderr, 'error: both -u and -p must be given'
+ print('error: both -u and -p must be given', file=sys.stderr)
sys.exit(1)
if opt.manifest_name:
@@ -448,8 +452,8 @@
if opt.smart_sync or opt.smart_tag:
if not self.manifest.manifest_server:
- print >>sys.stderr, \
- 'error: cannot smart sync: no manifest server defined in manifest'
+ print('error: cannot smart sync: no manifest server defined in'
+ 'manifest', file=sys.stderr)
sys.exit(1)
manifest_server = self.manifest.manifest_server
@@ -464,7 +468,8 @@
try:
info = netrc.netrc()
except IOError:
- print >>sys.stderr, '.netrc file does not exist or could not be opened'
+ print('.netrc file does not exist or could not be opened',
+ file=sys.stderr)
else:
try:
parse_result = urlparse.urlparse(manifest_server)
@@ -474,10 +479,10 @@
except TypeError:
# TypeError is raised when the given hostname is not present
# in the .netrc file.
- print >>sys.stderr, 'No credentials found for %s in .netrc' % \
- parse_result.hostname
+ print('No credentials found for %s in .netrc'
+ % parse_result.hostname, file=sys.stderr)
except netrc.NetrcParseError as e:
- print >>sys.stderr, 'Error parsing .netrc file: %s' % e
+ print('Error parsing .netrc file: %s' % e, file=sys.stderr)
if (username and password):
manifest_server = manifest_server.replace('://', '://%s:%s@' %
@@ -516,20 +521,21 @@
finally:
f.close()
except IOError:
- print >>sys.stderr, 'error: cannot write manifest to %s' % \
- manifest_path
+ print('error: cannot write manifest to %s' % manifest_path,
+ file=sys.stderr)
sys.exit(1)
self.manifest.Override(manifest_name)
else:
- print >>sys.stderr, 'error: %s' % manifest_str
+ print('error: %s' % manifest_str, file=sys.stderr)
sys.exit(1)
except (socket.error, IOError, xmlrpclib.Fault) as e:
- print >>sys.stderr, 'error: cannot connect to manifest server %s:\n%s' % (
- self.manifest.manifest_server, e)
+ print('error: cannot connect to manifest server %s:\n%s'
+ % (self.manifest.manifest_server, e), file=sys.stderr)
sys.exit(1)
except xmlrpclib.ProtocolError as e:
- print >>sys.stderr, 'error: cannot connect to manifest server %s:\n%d %s' % (
- self.manifest.manifest_server, e.errcode, e.errmsg)
+ print('error: cannot connect to manifest server %s:\n%d %s'
+ % (self.manifest.manifest_server, e.errcode, e.errmsg),
+ file=sys.stderr)
sys.exit(1)
rp = self.manifest.repoProject
@@ -585,14 +591,14 @@
if project.worktree:
project.Sync_LocalHalf(syncbuf)
pm.end()
- print >>sys.stderr
+ print(file=sys.stderr)
if not syncbuf.Finish():
sys.exit(1)
# If there's a notice that's supposed to print at the end of the sync, print
# it now...
if self.manifest.notice:
- print self.manifest.notice
+ print(self.manifest.notice)
def _PostRepoUpgrade(manifest, quiet=False):
wrapper = WrapperModule()
@@ -604,27 +610,28 @@
def _PostRepoFetch(rp, no_repo_verify=False, verbose=False):
if rp.HasChanges:
- print >>sys.stderr, 'info: A new version of repo is available'
- print >>sys.stderr, ''
+ print('info: A new version of repo is available', file=sys.stderr)
+ print(file=sys.stderr)
if no_repo_verify or _VerifyTag(rp):
syncbuf = SyncBuffer(rp.config)
rp.Sync_LocalHalf(syncbuf)
if not syncbuf.Finish():
sys.exit(1)
- print >>sys.stderr, 'info: Restarting repo with latest version'
+ print('info: Restarting repo with latest version', file=sys.stderr)
raise RepoChangedException(['--repo-upgraded'])
else:
- print >>sys.stderr, 'warning: Skipped upgrade to unverified version'
+ print('warning: Skipped upgrade to unverified version', file=sys.stderr)
else:
if verbose:
- print >>sys.stderr, 'repo version %s is current' % rp.work_git.describe(HEAD)
+ print('repo version %s is current' % rp.work_git.describe(HEAD),
+ file=sys.stderr)
def _VerifyTag(project):
gpg_dir = os.path.expanduser('~/.repoconfig/gnupg')
if not os.path.exists(gpg_dir):
- print >>sys.stderr,\
-"""warning: GnuPG was not available during last "repo init"
-warning: Cannot automatically authenticate repo."""
+ print('warning: GnuPG was not available during last "repo init"\n'
+ 'warning: Cannot automatically authenticate repo."""',
+ file=sys.stderr)
return True
try:
@@ -638,10 +645,9 @@
if rev.startswith(R_HEADS):
rev = rev[len(R_HEADS):]
- print >>sys.stderr
- print >>sys.stderr,\
- "warning: project '%s' branch '%s' is not signed" \
- % (project.name, rev)
+ print(file=sys.stderr)
+ print("warning: project '%s' branch '%s' is not signed"
+ % (project.name, rev), file=sys.stderr)
return False
env = os.environ.copy()
@@ -660,10 +666,10 @@
proc.stderr.close()
if proc.wait() != 0:
- print >>sys.stderr
- print >>sys.stderr, out
- print >>sys.stderr, err
- print >>sys.stderr
+ print(file=sys.stderr)
+ print(out, file=sys.stderr)
+ print(err, file=sys.stderr)
+ print(file=sys.stderr)
return False
return True