| OLD | NEW |
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 """Defines class Rietveld to easily access a rietveld instance. | 5 """Defines class Rietveld to easily access a rietveld instance. |
| 6 | 6 |
| 7 Security implications: | 7 Security implications: |
| 8 | 8 |
| 9 The following hypothesis are made: | 9 The following hypothesis are made: |
| 10 - Rietveld enforces: | 10 - Rietveld enforces: |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 not 'EOF occurred in violation of protocol' in e.reason and | 435 not 'EOF occurred in violation of protocol' in e.reason and |
| 436 # On windows we hit weird bug http://crbug.com/537417 | 436 # On windows we hit weird bug http://crbug.com/537417 |
| 437 # with message '[Errno 10060] A connection attempt failed...' | 437 # with message '[Errno 10060] A connection attempt failed...' |
| 438 not (sys.platform.startswith('win') and | 438 not (sys.platform.startswith('win') and |
| 439 isinstance(e.reason, socket.error) and | 439 isinstance(e.reason, socket.error) and |
| 440 e.reason.errno == errno.ETIMEDOUT | 440 e.reason.errno == errno.ETIMEDOUT |
| 441 ) | 441 ) |
| 442 ): | 442 ): |
| 443 # Usually internal GAE flakiness. | 443 # Usually internal GAE flakiness. |
| 444 raise | 444 raise |
| 445 except ssl.SSLError, e: | 445 except socket.error, e: |
| 446 if retry >= (self._maxtries - 1): | 446 if retry >= (self._maxtries - 1): |
| 447 raise | 447 raise |
| 448 if not 'timed out' in str(e): | 448 if not 'timed out' in str(e): |
| 449 raise | 449 raise |
| 450 # If reaching this line, loop again. Uses a small backoff. | 450 # If reaching this line, loop again. Uses a small backoff. |
| 451 time.sleep(min(10, 1+retry*2)) | 451 time.sleep(min(10, 1+retry*2)) |
| 452 except urllib2.HTTPError as e: | 452 except urllib2.HTTPError as e: |
| 453 print 'Request to %s failed: %s' % (e.geturl(), e.read()) | 453 print 'Request to %s failed: %s' % (e.geturl(), e.read()) |
| 454 raise | 454 raise |
| 455 finally: | 455 finally: |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 730 self, issue, patchset, reason, clobber, revision, builders_and_tests, | 730 self, issue, patchset, reason, clobber, revision, builders_and_tests, |
| 731 master=None, category='cq'): | 731 master=None, category='cq'): |
| 732 logging.info('ReadOnlyRietveld: triggering try jobs %r for issue %d' % | 732 logging.info('ReadOnlyRietveld: triggering try jobs %r for issue %d' % |
| 733 (builders_and_tests, issue)) | 733 (builders_and_tests, issue)) |
| 734 | 734 |
| 735 def trigger_distributed_try_jobs( # pylint:disable=R0201 | 735 def trigger_distributed_try_jobs( # pylint:disable=R0201 |
| 736 self, issue, patchset, reason, clobber, revision, masters, | 736 self, issue, patchset, reason, clobber, revision, masters, |
| 737 category='cq'): | 737 category='cq'): |
| 738 logging.info('ReadOnlyRietveld: triggering try jobs %r for issue %d' % | 738 logging.info('ReadOnlyRietveld: triggering try jobs %r for issue %d' % |
| 739 (masters, issue)) | 739 (masters, issue)) |
| OLD | NEW |