Enable force tree closure.
Change-Id: Idab5d3a07a4e88fe47b83b6ac12a21ee2b18da5b
BUG=None
TEST=manual tested
Review URL: http://codereview.chromium.org/6816019
diff --git a/utils/set_tree_status.py b/utils/set_tree_status.py
index a189503..d140eb7 100755
--- a/utils/set_tree_status.py
+++ b/utils/set_tree_status.py
@@ -7,9 +7,10 @@
# password protected authorization.
#
# Example usage:
-# ./set_tree_status.py "a quoted space separated message."
+# ./set_tree_status.py [options] "a quoted space separated message."
import getpass
+import optparse
import os
import sys
import urllib
@@ -30,12 +31,13 @@
return getpass.getpass()
-def post_status(message):
- status = get_status()
- if 'tree is closed' in status.lower():
- print >> sys.stderr, 'Tree is already closed for some other reason.'
- print >> sys.stderr, status
- return -1
+def post_status(force, message):
+ if not force:
+ status = get_status()
+ if 'tree is closed' in status.lower():
+ print >> sys.stderr, 'Tree is already closed for some other reason.'
+ print >> sys.stderr, status
+ return -1
data = {
'message': message,
'username': getpass.getuser(),
@@ -46,8 +48,12 @@
if __name__ == '__main__':
- if len(sys.argv) != 2:
- print('Usage: set_tree_status.py "message"')
- sys.exit(1)
-
- sys.exit(post_status(sys.argv[1]))
+ parser = optparse.OptionParser("%prog [options] quoted_message")
+ parser.add_option('--noforce',
+ dest='force', action='store_false',
+ default=True,
+ help='Dont force to close tree if it is already closed.')
+ options, args = parser.parse_args()
+ if not args:
+ print >> sys.stderr, 'missing tree close message.'
+ sys.exit(post_status(options.force, args[0]))