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

Side by Side Diff: gclient.py

Issue 1851283002: Fix coloring madness in depot_tools. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Improve logic a bit Created 4 years, 8 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 | « depot-tools-auth.py ('k') | git_cl.py » ('j') | 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 """Meta checkout manager supporting both Subversion and GIT.""" 6 """Meta checkout manager supporting both Subversion and GIT."""
7 # Files 7 # Files
8 # .gclient : Current client configuration, written by 'config' command. 8 # .gclient : Current client configuration, written by 'config' command.
9 # Format is a Python script defining 'solutions', a list whose 9 # Format is a Python script defining 'solutions', a list whose
10 # entries each are maps binding the strings "name" and "url" 10 # entries each are maps binding the strings "name" and "url"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 import urllib 95 import urllib
96 import urlparse 96 import urlparse
97 97
98 import fix_encoding 98 import fix_encoding
99 import gclient_scm 99 import gclient_scm
100 import gclient_utils 100 import gclient_utils
101 import git_cache 101 import git_cache
102 from third_party.repo.progress import Progress 102 from third_party.repo.progress import Progress
103 import subcommand 103 import subcommand
104 import subprocess2 104 import subprocess2
105 from third_party import colorama 105 import setup_color
106 106
107 CHROMIUM_SRC_URL = 'https://chromium.googlesource.com/chromium/src.git' 107 CHROMIUM_SRC_URL = 'https://chromium.googlesource.com/chromium/src.git'
108 108
109 109
110 def ast_dict_index(dnode, key): 110 def ast_dict_index(dnode, key):
111 """Search an ast.Dict for the argument key, and return its index.""" 111 """Search an ast.Dict for the argument key, and return its index."""
112 idx = [i for i in range(len(dnode.keys)) if ( 112 idx = [i for i in range(len(dnode.keys)) if (
113 type(dnode.keys[i]) is ast.Str and dnode.keys[i].s == key)] 113 type(dnode.keys[i]) is ast.Str and dnode.keys[i].s == key)]
114 if not idx: 114 if not idx:
115 return -1 115 return -1
(...skipping 1388 matching lines...) Expand 10 before | Expand all | Expand 10 after
1504 raise gclient_utils.Error('No solution specified') 1504 raise gclient_utils.Error('No solution specified')
1505 1505
1506 revision_overrides = {} 1506 revision_overrides = {}
1507 # It's unnecessary to check for revision overrides for 'recurse'. 1507 # It's unnecessary to check for revision overrides for 'recurse'.
1508 # Save a few seconds by not calling _EnforceRevisions() in that case. 1508 # Save a few seconds by not calling _EnforceRevisions() in that case.
1509 if command not in ('diff', 'recurse', 'runhooks', 'status', 'revert'): 1509 if command not in ('diff', 'recurse', 'runhooks', 'status', 'revert'):
1510 self._CheckConfig() 1510 self._CheckConfig()
1511 revision_overrides = self._EnforceRevisions() 1511 revision_overrides = self._EnforceRevisions()
1512 pm = None 1512 pm = None
1513 # Disable progress for non-tty stdout. 1513 # Disable progress for non-tty stdout.
1514 if (sys.stdout.isatty() and not self._options.verbose and progress): 1514 if (setup_color.IS_TTY and not self._options.verbose and progress):
1515 if command in ('update', 'revert'): 1515 if command in ('update', 'revert'):
1516 pm = Progress('Syncing projects', 1) 1516 pm = Progress('Syncing projects', 1)
1517 elif command == 'recurse': 1517 elif command == 'recurse':
1518 pm = Progress(' '.join(args), 1) 1518 pm = Progress(' '.join(args), 1)
1519 work_queue = gclient_utils.ExecutionQueue( 1519 work_queue = gclient_utils.ExecutionQueue(
1520 self._options.jobs, pm, ignore_requirements=ignore_requirements, 1520 self._options.jobs, pm, ignore_requirements=ignore_requirements,
1521 verbose=self._options.verbose) 1521 verbose=self._options.verbose)
1522 for s in self.dependencies: 1522 for s in self.dependencies:
1523 work_queue.enqueue(s) 1523 work_queue.enqueue(s)
1524 work_queue.flush(revision_overrides, command, args, options=self._options) 1524 work_queue.flush(revision_overrides, command, args, options=self._options)
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
2296 sys.version.split(' ', 1)[0], 2296 sys.version.split(' ', 1)[0],
2297 file=sys.stderr) 2297 file=sys.stderr)
2298 return 2 2298 return 2
2299 if not sys.executable: 2299 if not sys.executable:
2300 print( 2300 print(
2301 '\nPython cannot find the location of it\'s own executable.\n', 2301 '\nPython cannot find the location of it\'s own executable.\n',
2302 file=sys.stderr) 2302 file=sys.stderr)
2303 return 2 2303 return 2
2304 fix_encoding.fix_encoding() 2304 fix_encoding.fix_encoding()
2305 disable_buffering() 2305 disable_buffering()
2306 colorama.init(wrap="TERM" not in os.environ) 2306 setup_color.init()
2307 dispatcher = subcommand.CommandDispatcher(__name__) 2307 dispatcher = subcommand.CommandDispatcher(__name__)
2308 try: 2308 try:
2309 return dispatcher.execute(OptionParser(), argv) 2309 return dispatcher.execute(OptionParser(), argv)
2310 except KeyboardInterrupt: 2310 except KeyboardInterrupt:
2311 gclient_utils.GClientChildren.KillAllRemainingChildren() 2311 gclient_utils.GClientChildren.KillAllRemainingChildren()
2312 raise 2312 raise
2313 except (gclient_utils.Error, subprocess2.CalledProcessError) as e: 2313 except (gclient_utils.Error, subprocess2.CalledProcessError) as e:
2314 print('Error: %s' % str(e), file=sys.stderr) 2314 print('Error: %s' % str(e), file=sys.stderr)
2315 return 1 2315 return 1
2316 finally: 2316 finally:
2317 gclient_utils.PrintWarnings() 2317 gclient_utils.PrintWarnings()
2318 return 0 2318 return 0
2319 2319
2320 2320
2321 if '__main__' == __name__: 2321 if '__main__' == __name__:
2322 try: 2322 try:
2323 sys.exit(main(sys.argv[1:])) 2323 sys.exit(main(sys.argv[1:]))
2324 except KeyboardInterrupt: 2324 except KeyboardInterrupt:
2325 sys.stderr.write('interrupted\n') 2325 sys.stderr.write('interrupted\n')
2326 sys.exit(1) 2326 sys.exit(1)
2327 2327
2328 # vim: ts=2:sw=2:tw=80:et: 2328 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« no previous file with comments | « depot-tools-auth.py ('k') | git_cl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698