changeset 5:005e073dc590

basic POC
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 30 Mar 2012 09:53:58 -0700
parents 5f31e56eebb6
children 48aa5a9ef7e1
files commandparser/command.py tests/example.py
diffstat 2 files changed, 35 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/commandparser/command.py	Fri Mar 30 09:46:46 2012 -0700
+++ b/commandparser/command.py	Fri Mar 30 09:53:58 2012 -0700
@@ -159,12 +159,12 @@
         else:
             args = argspec.args[1:]
             optional = None
-        command = { 'doc': doc,
-                     'name': name,
-                     'args': args,
-                     'optional': optional,
-                     'varargs': argspec.varargs
-                     }
+        command = {'doc': doc,
+                   'name': name,
+                   'args': args,
+                   'optional': optional,
+                   'varargs': argspec.varargs
+                   }
         return command
 
     def commandargs2str(self, command):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/example.py	Fri Mar 30 09:53:58 2012 -0700
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+from commandparser import CommandParser
+
+
+class Example(object):
+    """
+    a random example
+    """
+
+    def __init__(self, foo=1, bar='fleem'):
+        """
+        - foo: a number
+        - bar: a string
+        """
+        self.foo = foo
+        self.bar = bar
+
+    def execute(self, number):
+        """
+        do some stupid math
+        - number: a number to multiply by foo
+        """
+        return self.foo * int(number)
+
+if __name__ == '__main__':
+    import sys
+    parser = CommandParser(Example)
+    parser.invoke(sys.argv[1:])