Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: git_cl.py

Issue 2433813004: git cl: refactor direct usage of time.sleep and time.time. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
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 5
6 # Copyright (C) 2008 Evan Martin <martine@danga.com> 6 # Copyright (C) 2008 Evan Martin <martine@danga.com>
7 7
8 """A git-command for integrating reviews on Rietveld and Gerrit.""" 8 """A git-command for integrating reviews on Rietveld and Gerrit."""
9 9
10 from __future__ import print_function 10 from __future__ import print_function
11 11
12 from distutils.version import LooseVersion 12 from distutils.version import LooseVersion
13 from multiprocessing.pool import ThreadPool 13 from multiprocessing.pool import ThreadPool
14 import base64 14 import base64
15 import collections 15 import collections
16 import httplib 16 import httplib
17 import json 17 import json
18 import logging 18 import logging
19 import multiprocessing 19 import multiprocessing
20 import optparse 20 import optparse
21 import os 21 import os
22 import re 22 import re
23 import stat 23 import stat
24 import sys 24 import sys
25 import textwrap 25 import textwrap
26 import time
27 import traceback 26 import traceback
28 import urllib 27 import urllib
29 import urllib2 28 import urllib2
30 import urlparse 29 import urlparse
31 import uuid 30 import uuid
32 import webbrowser 31 import webbrowser
33 import zlib 32 import zlib
34 33
35 try: 34 try:
36 import readline # pylint: disable=F0401,W0611 35 import readline # pylint: disable=F0401,W0611
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 LooseVersion(version[len(prefix):]) >= LooseVersion(min_version)) 140 LooseVersion(version[len(prefix):]) >= LooseVersion(min_version))
142 141
143 142
144 def BranchExists(branch): 143 def BranchExists(branch):
145 """Return True if specified branch exists.""" 144 """Return True if specified branch exists."""
146 code, _ = RunGitWithCode(['rev-parse', '--verify', branch], 145 code, _ = RunGitWithCode(['rev-parse', '--verify', branch],
147 suppress_stderr=True) 146 suppress_stderr=True)
148 return not code 147 return not code
149 148
150 149
150 def time_sleep(seconds):
151 # Use this so that it can be mocked in tests without interfering with python
152 # system machinery.
153 import time # Local import to discourage others from importing time globally.
154 return time.sleep(seconds)
155
156
151 def ask_for_data(prompt): 157 def ask_for_data(prompt):
152 try: 158 try:
153 return raw_input(prompt) 159 return raw_input(prompt)
154 except KeyboardInterrupt: 160 except KeyboardInterrupt:
155 # Hide the exception. 161 # Hide the exception.
156 sys.exit(1) 162 sys.exit(1)
157 163
158 164
159 def _git_branch_config_key(branch, key): 165 def _git_branch_config_key(branch, key):
160 """Helper method to return Git config key for a branch.""" 166 """Helper method to return Git config key for a branch."""
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 raise BuildbucketResponseException( 312 raise BuildbucketResponseException(
307 'Buildbucket returns invalid json content: %s.\n' 313 'Buildbucket returns invalid json content: %s.\n'
308 'Please file bugs at http://crbug.com, label "Infra-BuildBucket".' % 314 'Please file bugs at http://crbug.com, label "Infra-BuildBucket".' %
309 content) 315 content)
310 return content_json 316 return content_json
311 if response.status < 500 or try_count >= 2: 317 if response.status < 500 or try_count >= 2:
312 raise httplib2.HttpLib2Error(content) 318 raise httplib2.HttpLib2Error(content)
313 319
314 # status >= 500 means transient failures. 320 # status >= 500 means transient failures.
315 logging.debug('Transient errors when %s. Will retry.', operation_name) 321 logging.debug('Transient errors when %s. Will retry.', operation_name)
316 time.sleep(0.5 + 1.5*try_count) 322 time_sleep(0.5 + 1.5*try_count)
317 try_count += 1 323 try_count += 1
318 assert False, 'unreachable' 324 assert False, 'unreachable'
319 325
320 326
321 def _trigger_try_jobs(auth_config, changelist, masters, options, 327 def _trigger_try_jobs(auth_config, changelist, masters, options,
322 category='git_cl_try', patchset=None): 328 category='git_cl_try', patchset=None):
323 assert changelist.GetIssue(), 'CL must be uploaded first' 329 assert changelist.GetIssue(), 'CL must be uploaded first'
324 codereview_url = changelist.GetCodereviewServer() 330 codereview_url = changelist.GetCodereviewServer()
325 assert codereview_url, 'CL must be uploaded first' 331 assert codereview_url, 'CL must be uploaded first'
326 patchset = patchset or changelist.GetMostRecentPatchset() 332 patchset = patchset or changelist.GetMostRecentPatchset()
(...skipping 5046 matching lines...) Expand 10 before | Expand all | Expand 10 after
5373 if __name__ == '__main__': 5379 if __name__ == '__main__':
5374 # These affect sys.stdout so do it outside of main() to simplify mocks in 5380 # These affect sys.stdout so do it outside of main() to simplify mocks in
5375 # unit testing. 5381 # unit testing.
5376 fix_encoding.fix_encoding() 5382 fix_encoding.fix_encoding()
5377 setup_color.init() 5383 setup_color.init()
5378 try: 5384 try:
5379 sys.exit(main(sys.argv[1:])) 5385 sys.exit(main(sys.argv[1:]))
5380 except KeyboardInterrupt: 5386 except KeyboardInterrupt:
5381 sys.stderr.write('interrupted\n') 5387 sys.stderr.write('interrupted\n')
5382 sys.exit(1) 5388 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698