Mercurial > hg > CommandParser
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:])