gbp: add --version option
authorGuido Günther <agx@sigxcpu.org>
Sat, 23 Aug 2014 13:14:18 +0000 (15:14 +0200)
committerGuido Günther <agx@sigxcpu.org>
Sat, 23 Aug 2014 13:28:56 +0000 (15:28 +0200)
Closes: #758909

gbp/scripts/supercommand.py

index 2eb64de..e529b38 100644 (file)
@@ -17,6 +17,7 @@
 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 """Supercommand for all gbp commands"""
 
+import os
 import re
 import sys
 
@@ -44,6 +45,13 @@ The most commonly used commands are:
     import-dscs  - import multiple Debian source packages
 """
 
+def version(prog):
+    try:
+        from gbp.version import gbp_version
+    except ImportError:
+        gbp_version = '[Unknown version]'
+    print("%s %s" % (os.path.basename(prog), gbp_version))
+
 def import_command(cmd):
     """
     Import the module that implements the given command
@@ -63,12 +71,15 @@ def supercommand(argv=None):
         usage()
         return 1
 
-    cmd = argv[1]
+    prg, cmd = argv[0:2]
     args = argv[1:]
 
     if cmd in ['--help', '-h']:
         usage()
         return 0
+    elif cmd in [ '--version', 'version' ]:
+        version(argv[0])
+        return 0
 
     try:
         module = import_command(cmd)
@@ -81,4 +92,7 @@ def supercommand(argv=None):
 
     return module.main(args)
 
+if __name__ == '__main__':
+    sys.exit(supercommand())
+
 # vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: