From cc8fa993a28667232d22d2ba684cdbd5f3c1af6e Mon Sep 17 00:00:00 2001 From: Uriel Mangado Date: Thu, 11 Oct 2012 00:23:53 +0800 Subject: codereview.py: Fix crash on auth error handling. In recent Python versions .reason is a read-only property that simply gives you the msg value. Fixes issue 4024 R=golang-dev, adg CC=golang-dev http://codereview.appspot.com/6545052 Committer: Shenghou Ma --- lib/codereview/codereview.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'lib/codereview') diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py index 8b3fcc2fc..86373ccbf 100644 --- a/lib/codereview/codereview.py +++ b/lib/codereview/codereview.py @@ -2738,7 +2738,9 @@ class ClientLoginError(urllib2.HTTPError): def __init__(self, url, code, msg, headers, args): urllib2.HTTPError.__init__(self, url, code, msg, headers, None) self.args = args - self.reason = args["Error"] + # .reason is now a read-only property based on .msg + # this means we ignore 'msg', but that seems to work fine. + self.msg = args["Error"] class AbstractRpcServer(object): @@ -2871,31 +2873,31 @@ class AbstractRpcServer(object): try: auth_token = self._GetAuthToken(credentials[0], credentials[1]) except ClientLoginError, e: - if e.reason == "BadAuthentication": + if e.msg == "BadAuthentication": print >>sys.stderr, "Invalid username or password." continue - if e.reason == "CaptchaRequired": + if e.msg == "CaptchaRequired": print >>sys.stderr, ( "Please go to\n" "https://www.google.com/accounts/DisplayUnlockCaptcha\n" "and verify you are a human. Then try again.") break - if e.reason == "NotVerified": + if e.msg == "NotVerified": print >>sys.stderr, "Account not verified." break - if e.reason == "TermsNotAgreed": + if e.msg == "TermsNotAgreed": print >>sys.stderr, "User has not agreed to TOS." break - if e.reason == "AccountDeleted": + if e.msg == "AccountDeleted": print >>sys.stderr, "The user account has been deleted." break - if e.reason == "AccountDisabled": + if e.msg == "AccountDisabled": print >>sys.stderr, "The user account has been disabled." break - if e.reason == "ServiceDisabled": + if e.msg == "ServiceDisabled": print >>sys.stderr, "The user's access to the service has been disabled." break - if e.reason == "ServiceUnavailable": + if e.msg == "ServiceUnavailable": print >>sys.stderr, "The service is not available; try again later." break raise -- cgit v1.2.1