diff options
author | Uriel Mangado <uriel@berlinblue.org> | 2012-10-11 00:23:53 +0800 |
---|---|---|
committer | Uriel Mangado <uriel@berlinblue.org> | 2012-10-11 00:23:53 +0800 |
commit | cc8fa993a28667232d22d2ba684cdbd5f3c1af6e (patch) | |
tree | 95021b7a99138780ed25b96fb255d4a2c173f125 /lib/codereview | |
parent | a51319e8476b8e10a7b96ccbd6b42050c7699dea (diff) | |
download | go-cc8fa993a28667232d22d2ba684cdbd5f3c1af6e.tar.gz |
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 <minux.ma@gmail.com>
Diffstat (limited to 'lib/codereview')
-rw-r--r-- | lib/codereview/codereview.py | 20 |
1 files changed, 11 insertions, 9 deletions
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 |