summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortermie <github@anarkystic.com>2011-11-09 14:38:34 -0800
committertermie <github@anarkystic.com>2011-11-09 14:38:34 -0800
commit570b08d189dd33d74afa45dc0270ffc6ba2030b8 (patch)
tree39d02f0eacfa1316baedf44c916a5c7ee5832451
parent64b369f4d34ec2aafd383dfc15b4293db6b7a14e (diff)
downloadkeystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.tar.gz
keystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.tar.xz
keystone-570b08d189dd33d74afa45dc0270ffc6ba2030b8.zip
cli beginnings
-rwxr-xr-x[-rw-r--r--]bin/ksl48
1 files changed, 48 insertions, 0 deletions
diff --git a/bin/ksl b/bin/ksl
index e69de29b..2005ee44 100644..100755
--- 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()