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:
sbc@chromium.org
2015-02-26 18:28:43 +00:00
parent 5626a92eec
commit 013731e832
35 changed files with 216 additions and 70 deletions

View File

@@ -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)