diff options
| author | termie <github@anarkystic.com> | 2011-11-09 14:38:34 -0800 |
|---|---|---|
| committer | termie <github@anarkystic.com> | 2011-11-09 14:38:34 -0800 |
| commit | 570b08d189dd33d74afa45dc0270ffc6ba2030b8 (patch) | |
| tree | 39d02f0eacfa1316baedf44c916a5c7ee5832451 | |
| parent | 64b369f4d34ec2aafd383dfc15b4293db6b7a14e (diff) | |
| download | keystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.tar.gz keystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.tar.xz keystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.zip | |
cli beginnings
| -rwxr-xr-x[-rw-r--r--] | bin/ksl | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -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() |
