Rev 71: Properly handle argument parsing. in http://bazaar.launchpad.net/~jameinel/other/hydrazine

John Arbash Meinel john at arbash-meinel.com
Mon Jun 28 20:13:34 BST 2010


At http://bazaar.launchpad.net/~jameinel/other/hydrazine

------------------------------------------------------------
revno: 71
revision-id: john at arbash-meinel.com-20100628191318-i7gryligwv1y3752
parent: mbp at sourcefrog.net-20100625023206-vsnp0rbvargrwh2d
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: hydrazine
timestamp: Mon 2010-06-28 14:13:18 -0500
message:
  Properly handle argument parsing.
-------------- next part --------------
=== modified file 'feed-pqm'
--- a/feed-pqm	2010-06-23 01:33:23 +0000
+++ b/feed-pqm	2010-06-28 19:13:18 +0000
@@ -163,13 +163,18 @@
 
 
 def main(argv):
-    parser = optparse.OptionParser()
+    parser = optparse.OptionParser('%prog [options] PROJECT\n\n'
+        '  PROJECT is the launchpad project to inspect (eg bzr)')
     parser.add_option('--nomail', help="Do not send email commands", action="store_true", default=False)
     parser.add_option('--queued', help="Examine already queued proposals", action="store_true", default=False)
     opts, args = parser.parse_args()
+    if len(args) != 1:
+        parser.print_usage()
+        return 1
+    project = args[0]
     bzrlib_setup()
     launchpad = hydrazine.create_session()
-    project = launchpad.projects[argv[1]]
+    project = launchpad.projects[project]
     i = 0
     find_status = ['Approved']
     if opts.queued:
@@ -217,11 +222,5 @@
         print "No remaining merge proposals matching status %r?" % find_status
         return 0
 
-def usage():
-    print "feed-pqm <project-name>"
-
 if __name__ == '__main__':
-    if len(sys.argv) != 2:
-        usage()
-        sys.exit(1)
     sys.exit(main(sys.argv))



More information about the bazaar-commits mailing list