cli beginnings

This commit is contained in:
termie 2011-11-09 14:38:34 -08:00
parent 64b369f4d3
commit 570b08d189
1 changed files with 48 additions and 0 deletions

48
bin/ksl Normal file → Executable file
View File

@ -0,0 +1,48 @@
#!/usr/bin/env python
import sys
import cli.app
import cli.log
DEFAULT_PARAMS = (
(('--url',), {'dest': 'url', 'action': 'store'}),
(('--token',), {'dest': 'token', 'action': 'store'}),
)
class BaseApp(cli.log.LoggingApp):
def __init__(self, *args, **kw):
kw.setdefault('name', self.__class__.__name__.lower())
super(BaseApp, self).__init__(*args, **kw)
def add_default_params(self):
for args, kw in DEFAULT_PARAMS:
self.add_param(*args, **kw)
class LoadData(BaseApp):
def __init__(self, *args, **kw):
super(LoadData, self).__init__(*args, **kw)
self.add_default_params()
self.add_param('fixture', nargs='+')
def main(self):
"""Given some fixtures, create the appropriate data in Keystone Light."""
pass
CMDS = {'loaddata': LoadData,
}
if __name__ == '__main__':
if not len(sys.argv) > 1:
print 'try one of:', ' '.join(CMDS.keys())
sys.exit(1)
cmd = sys.argv[1]
if cmd in CMDS:
CMDS[cmd](argv=(sys.argv[:1] + sys.argv[2:])).run()