summaryrefslogtreecommitdiff
path: root/lib/codereview
diff options
context:
space:
mode:
authorUriel Mangado <uriel@berlinblue.org>2012-10-11 00:23:53 +0800
committerUriel Mangado <uriel@berlinblue.org>2012-10-11 00:23:53 +0800
commitcc8fa993a28667232d22d2ba684cdbd5f3c1af6e (patch)
tree95021b7a99138780ed25b96fb255d4a2c173f125 /lib/codereview
parenta51319e8476b8e10a7b96ccbd6b42050c7699dea (diff)
downloadgo-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.py20
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