mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 10:41:31 +00:00
Handle KeyboardInterrupt consistently in python scripts
Handle KeyboardInterrupt gracefully rather the printing a backtrace. Most users of these tools don't expect a backtrace when then hit Ctrl-C. Also, fix a few other inconsistencies found in the python startup code of these different scripts: - always call main function 'main' (rather than 'Main') - always return 0 from main function - if main takes args never include argv[0] Review URL: https://codereview.chromium.org/955993006 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294250 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@@ -34,7 +34,8 @@ def main(args):
|
||||
cur = hash_one(cur)
|
||||
downstreams = [b for b in branches() if upfn(b) == cur]
|
||||
if not downstreams:
|
||||
return "No downstream branches"
|
||||
print "No downstream branches"
|
||||
return 1
|
||||
elif len(downstreams) == 1:
|
||||
run('checkout', downstreams[0], stdout=sys.stdout, stderr=sys.stderr)
|
||||
else:
|
||||
@@ -55,10 +56,12 @@ def main(args):
|
||||
run('checkout', downstreams[int(r)], stdout=sys.stdout,
|
||||
stderr=sys.stderr)
|
||||
break
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
sys.exit(main(sys.argv[1:]))
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
sys.stderr.write('interrupted\n')
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user