Index: rietveld.py |
diff --git a/rietveld.py b/rietveld.py |
index f5832de4e0eb761cbc31e53f274175d9c68c6f5f..c64235bb88fd6b94c32ec23892ccd3ef40de786f 100644 |
--- a/rietveld.py |
+++ b/rietveld.py |
@@ -37,7 +37,7 @@ upload.LOGGER.setLevel(logging.WARNING) # pylint: disable=E1103 |
class Rietveld(object): |
"""Accesses rietveld.""" |
- def __init__(self, url, email, password, extra_headers=None): |
+ def __init__(self, url, email, password, extra_headers=None, maxtries=None): |
self.url = url.rstrip('/') |
# Email and password are accessed by commit queue, keep them. |
self.email = email |
@@ -64,6 +64,8 @@ class Rietveld(object): |
self._xsrf_token = None |
self._xsrf_token_time = None |
+ self._maxtries = maxtries or 40 |
+ |
def xsrf_token(self): |
if (not self._xsrf_token_time or |
(time.time() - self._xsrf_token_time) > 30*60): |
@@ -413,8 +415,7 @@ class Rietveld(object): |
old_error_exit(msg) |
upload.ErrorExit = trap_http_500 |
- maxtries = 40 |
- for retry in xrange(maxtries): |
+ for retry in xrange(self._maxtries): |
try: |
logging.debug('%s' % request_path) |
result = self.rpc_server.Send(request_path, **kwargs) |
@@ -422,7 +423,7 @@ class Rietveld(object): |
# How nice. |
return result |
except urllib2.HTTPError, e: |
- if retry >= (maxtries - 1): |
+ if retry >= (self._maxtries - 1): |
raise |
flake_codes = [500, 502, 503] |
if retry_on_404: |
@@ -430,14 +431,14 @@ class Rietveld(object): |
if e.code not in flake_codes: |
raise |
except urllib2.URLError, e: |
- if retry >= (maxtries - 1): |
+ if retry >= (self._maxtries - 1): |
raise |
if (not 'Name or service not known' in e.reason and |
not 'EOF occurred in violation of protocol' in e.reason): |
# Usually internal GAE flakiness. |
raise |
except ssl.SSLError, e: |
- if retry >= (maxtries - 1): |
+ if retry >= (self._maxtries - 1): |
raise |
if not 'timed out' in str(e): |
raise |
@@ -575,7 +576,8 @@ class JwtOAuth2Rietveld(Rietveld): |
client_email, |
client_private_key_file, |
private_key_password=None, |
- extra_headers=None): |
+ extra_headers=None, |
+ maxtries=None): |
# These attributes are accessed by commit queue. Keep them. |
self.email = client_email |
@@ -598,6 +600,8 @@ class JwtOAuth2Rietveld(Rietveld): |
self._xsrf_token = None |
self._xsrf_token_time = None |
+ self._maxtries = 40 or maxtries |
Michael Achenbach
2015/02/19 11:20:33
Hmm, sad that there's no super call.
Jens Widell
2015/02/19 11:32:39
This is the same as "self._maxtries = 40". Did you
Michael Achenbach
2015/02/19 11:33:56
Ups, totally missed that. Good catch!
Paweł Hajdan Jr.
2015/02/19 11:49:04
Good catch, fixed in https://codereview.chromium.o
|
+ |
class CachingRietveld(Rietveld): |
"""Caches the common queries. |