From 570b08d189dd33d74afa45dc0270ffc6ba2030b8 Mon Sep 17 00:00:00 2001 From: termie Date: Wed, 9 Nov 2011 14:38:34 -0800 Subject: cli beginnings --- bin/ksl | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) mode change 100644 => 100755 bin/ksl diff --git a/bin/ksl b/bin/ksl old mode 100644 new mode 100755 index e69de29b..2005ee44 --- a/bin/ksl +++ b/bin/ksl @@ -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() -- cgit