Prechádzať zdrojové kódy

Implement --version flag

Aanand Prasad 12 rokov pred
rodič
commit
9f1d08c54b
2 zmenil súbory, kde vykonal 10 pridanie a 1 odobranie
  1. 4 1
      plum/cli/docopt_command.py
  2. 6 0
      plum/cli/main.py

+ 4 - 1
plum/cli/docopt_command.py

@@ -12,6 +12,9 @@ def docopt_full_help(docstring, *args, **kwargs):
 
 
 class DocoptCommand(object):
+    def docopt_options(self):
+        return {'options_first': True}
+
     def sys_dispatch(self):
         self.dispatch(sys.argv[1:], None)
 
@@ -22,7 +25,7 @@ class DocoptCommand(object):
         handler(command_options)
 
     def parse(self, argv, global_options):
-        options = docopt_full_help(getdoc(self), argv, options_first=True)
+        options = docopt_full_help(getdoc(self), argv, **self.docopt_options())
         command = options['COMMAND']
 
         if not hasattr(self, command):

+ 6 - 0
plum/cli/main.py

@@ -1,4 +1,5 @@
 import logging
+import sys
 import re
 
 from inspect import getdoc
@@ -70,6 +71,11 @@ class TopLevelCommand(Command):
       stop      Stop services
 
     """
+    def docopt_options(self):
+        options = super(TopLevelCommand, self).docopt_options()
+        options['version'] = "plum %s" % __version__
+        return options
+
     def ps(self, options):
         """
         List services and containers.