| Index: third_party/upload.py
|
| diff --git a/third_party/upload.py b/third_party/upload.py
|
| index f7e1722ebac0dd5c084a97415e19835300d1b1d0..ba4fdd291c43b5c8bf0ea9dab0a9567d1d571581 100755
|
| --- a/third_party/upload.py
|
| +++ b/third_party/upload.py
|
| @@ -34,6 +34,8 @@ against by using the '--rev' option.
|
| # This code is derived from appcfg.py in the App Engine SDK (open source),
|
| # and from ASPN recipe #146306.
|
|
|
| +from __future__ import print_function
|
| +
|
| import ConfigParser
|
| import cookielib
|
| import errno
|
| @@ -168,12 +170,12 @@ def StatusUpdate(msg):
|
| msg: The string to print.
|
| """
|
| if verbosity > 0:
|
| - print msg
|
| + print(msg)
|
|
|
|
|
| def ErrorExit(msg):
|
| """Print an error message to stderr and exit."""
|
| - print >> sys.stderr, msg
|
| + print(msg, file=sys.stderr)
|
| sys.exit(1)
|
|
|
|
|
| @@ -358,7 +360,7 @@ class AbstractRpcServer(object):
|
| except ClientLoginError, exc:
|
| e = exc
|
| if e:
|
| - print >> sys.stderr, ''
|
| + print('', file=sys.stderr)
|
| error_message = e.reason
|
| if error_map:
|
| error_message = error_map.get(error_message, error_message)
|
| @@ -370,7 +372,7 @@ class AbstractRpcServer(object):
|
| "See http://www.google.com/"
|
| "support/accounts/bin/answer.py?answer=185833")
|
| else:
|
| - print >> sys.stderr, "Invalid username or password."
|
| + print("Invalid username or password.", file=sys.stderr)
|
| elif error_message == "CaptchaRequired":
|
| print >> sys.stderr, (
|
| "Please go to\n"
|
| @@ -379,23 +381,24 @@ class AbstractRpcServer(object):
|
| "If you are using a Google Apps account the URL is:\n"
|
| "https://www.google.com/a/yourdomain.com/UnlockCaptcha")
|
| elif error_message == "NotVerified":
|
| - print >> sys.stderr, "Account not verified."
|
| + print("Account not verified.", file=sys.stderr)
|
| elif error_message == "TermsNotAgreed":
|
| - print >> sys.stderr, "User has not agreed to TOS."
|
| + print("User has not agreed to TOS.", file=sys.stderr)
|
| elif error_message == "AccountDeleted":
|
| - print >> sys.stderr, "The user account has been deleted."
|
| + print("The user account has been deleted.", file=sys.stderr)
|
| elif error_message == "AccountDisabled":
|
| - print >> sys.stderr, "The user account has been disabled."
|
| + print("The user account has been disabled.", file=sys.stderr)
|
| break
|
| elif error_message == "ServiceDisabled":
|
| - print >> sys.stderr, ("The user's access to the service has been "
|
| - "disabled.")
|
| + print("The user's access to the service has been disabled.",
|
| + file=sys.stderr)
|
| elif error_message == "ServiceUnavailable":
|
| - print >> sys.stderr, "The service is not available; try again later."
|
| + print("The service is not available; try again later.",
|
| + file=sys.stderr)
|
| else:
|
| # Unknown error.
|
| raise e
|
| - print >> sys.stderr, ''
|
| + print('', file=sys.stderr)
|
| continue
|
| self._GetAuthCookie(auth_token)
|
| return
|
| @@ -720,10 +723,10 @@ class KeyringCreds(object):
|
| except:
|
| # Sadly, we have to trap all errors here as
|
| # gnomekeyring.IOError inherits from object. :/
|
| - print "Failed to get password from keyring"
|
| + print("Failed to get password from keyring")
|
| keyring = None
|
| if password is not None:
|
| - print "Using password from system keyring."
|
| + print("Using password from system keyring.")
|
| self.accounts_seen.add(email)
|
| else:
|
| password = getpass.getpass("Password for %s: " % email)
|
| @@ -920,9 +923,9 @@ class VersionControlSystem(object):
|
| """Show an "are you sure?" prompt if there are unknown files."""
|
| unknown_files = self.GetUnknownFiles()
|
| if unknown_files:
|
| - print "The following files are not added to version control:"
|
| + print("The following files are not added to version control:")
|
| for line in unknown_files:
|
| - print line
|
| + print(line)
|
| prompt = "Are you sure to continue?(y/N) "
|
| answer = raw_input(prompt).strip()
|
| if answer != "y":
|
| @@ -1029,7 +1032,7 @@ class VersionControlSystem(object):
|
| threads.append(t)
|
|
|
| for t in threads:
|
| - print t.get(timeout=60)
|
| + print(t.get(timeout=60))
|
|
|
| def IsImage(self, filename):
|
| """Returns true if the filename has an image extension."""
|
| @@ -1703,7 +1706,7 @@ class PerforceVCS(VersionControlSystem):
|
| ErrorExit("Error checking perforce login")
|
| if not retcode and (not "code" in data or data["code"] != "error"):
|
| break
|
| - print "Enter perforce password: "
|
| + print("Enter perforce password: ")
|
| self.RunPerforceCommandWithReturnCode(["login"])
|
|
|
| super(PerforceVCS, self).__init__(options)
|
| @@ -2083,8 +2086,8 @@ def UploadSeparatePatches(issue, rpc_server, patchset, data, options):
|
| rv = []
|
| for patch in patches:
|
| if len(patch[1]) > MAX_UPLOAD_SIZE:
|
| - print ("Not uploading the patch for " + patch[0] +
|
| - " because the file is too large.")
|
| + print("Not uploading the patch for %s because the file is too large." %
|
| + (patch[0],))
|
| continue
|
|
|
| filename = patch[0]
|
| @@ -2095,7 +2098,7 @@ def UploadSeparatePatches(issue, rpc_server, patchset, data, options):
|
|
|
| for t in threads:
|
| result = t.get(timeout=60)
|
| - print result[0]
|
| + print(result[0])
|
| rv.append(result[1])
|
|
|
| return rv
|
| @@ -2372,8 +2375,8 @@ def RealMain(argv, data=None):
|
| guessed_base = vcs.GuessBase(options.download_base)
|
| if base:
|
| if guessed_base and base != guessed_base:
|
| - print "Using base URL \"%s\" from --base_url instead of \"%s\"" % \
|
| - (base, guessed_base)
|
| + print("Using base URL \"%s\" from --base_url instead of \"%s\"" %
|
| + (base, guessed_base))
|
| else:
|
| base = guessed_base
|
|
|
| @@ -2386,12 +2389,12 @@ def RealMain(argv, data=None):
|
| data = vcs.GenerateDiff(args)
|
| data = vcs.PostProcessDiff(data)
|
| if options.print_diffs:
|
| - print "Rietveld diff start:*****"
|
| - print data
|
| - print "Rietveld diff end:*****"
|
| + print("Rietveld diff start:*****")
|
| + print(data)
|
| + print("Rietveld diff end:*****")
|
| files = vcs.GetBaseFiles(data)
|
| if verbosity >= 1:
|
| - print "Upload server:", options.server, "(change with -s/--server)"
|
| + print("Upload server:", options.server, "(change with -s/--server)")
|
|
|
| auth_config = auth.extract_auth_config_from_options(options)
|
| rpc_server = GetRpcServer(options.server, auth_config, options.email)
|
| @@ -2477,7 +2480,7 @@ def RealMain(argv, data=None):
|
| form_fields.append(("base_hashes", base_hashes))
|
| if options.private:
|
| if options.issue:
|
| - print "Warning: Private flag ignored when updating an existing issue."
|
| + print("Warning: Private flag ignored when updating an existing issue.")
|
| else:
|
| form_fields.append(("private", "1"))
|
| if options.send_patch:
|
| @@ -2485,7 +2488,7 @@ def RealMain(argv, data=None):
|
| if not options.download_base:
|
| form_fields.append(("content_upload", "1"))
|
| if len(data) > MAX_UPLOAD_SIZE:
|
| - print "Patch is large, so uploading file patches separately."
|
| + print("Patch is large, so uploading file patches separately.")
|
| uploaded_diff_file = []
|
| form_fields.append(("separate_patches", "1"))
|
| else:
|
| @@ -2544,7 +2547,7 @@ def main():
|
| StatusUpdate("Interrupted.")
|
| sys.exit(1)
|
| except auth.AuthenticationError as e:
|
| - print >> sys.stderr, e
|
| + print(e, file=sys.stderr)
|
| sys.exit(1)
|
|
|
|
|
|
|