From 5b4fe36c9ca502b2f0d4f0165d8b2330358f3873 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Thu, 12 Jun 2014 19:06:33 +0000 Subject: [PATCH] basics working --- klugman/__init__.py | 0 klugman/base.py | 3 ++- klugman/klugman.py | 19 +++++++++++-------- klugman/v2.py | 9 +++++---- setup.cfg | 3 +++ 5 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 klugman/__init__.py diff --git a/klugman/__init__.py b/klugman/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/klugman/base.py b/klugman/base.py index 1bf3aaf..32d714f 100644 --- a/klugman/base.py +++ b/klugman/base.py @@ -22,4 +22,5 @@ def _remove_empty(kv): def get(url, cmd, params): - return requests.get("%s/%s" % (url, cmd), params=params) + final = "%s/%s" % (url, cmd) + return requests.get(final, params=params) diff --git a/klugman/klugman.py b/klugman/klugman.py index a3c200a..110c101 100644 --- a/klugman/klugman.py +++ b/klugman/klugman.py @@ -22,10 +22,11 @@ Usage: Options: -h --help Show this help message - --version Show klugman version. + --version Show klugman version + --debug Debug mode -a, --api_version Which API version to use [default: latest] - --url StackTach.v3 server url [default: http://localhost] + --url StackTach.v3 server url [default: http://localhost:8000] For a list of possible StackTach commands, use: klugman help [] @@ -42,11 +43,10 @@ versions = {1: v1.V1, 2: v2.V2} latest = 2 -if __name__ == '__main__': +def main(): arguments = docopt(__doc__, options_first=True) - print "----base----" - print arguments - print "----impl----" + if arguments['--debug']: + print arguments version = arguments["--api_version"] if version == "latest": @@ -55,9 +55,12 @@ if __name__ == '__main__': version = int(version) impl = versions[version] - url = "%s/v%d/" % (arguments["--url"], version) - print "base url:", url + url = "%s/v%d" % (arguments["--url"], version) argv = [arguments['']] + arguments[''] api = impl(url, arguments) api.dispatch(argv) + + +if __name__ == '__main__': + main() diff --git a/klugman/v2.py b/klugman/v2.py index 47d086c..79eda0d 100644 --- a/klugman/v2.py +++ b/klugman/v2.py @@ -45,11 +45,13 @@ class V2(object): def dispatch(self, cmdline): self.arguments = docopt(__doc__, argv=cmdline) - print self.arguments + if self.base_args['--debug']: + print self.arguments if self.arguments['events']: response = self.do_events() # handle cmdline output here. + print response.json() def do_events(self): eid = self.arguments.get('--id') @@ -57,12 +59,11 @@ class V2(object): start = self.arguments.get('--start') end = self.arguments.get('--end') - cmd = "/events" + cmd = "events" if eid: - cmd = "/events/%d" % eid + cmd = "events/%d" % eid params = base._remove_empty({'request_id': rid, 'start_ts': start, 'end_ts': end}) - print "Params:", params return base.get(self.base_url, cmd, params) diff --git a/setup.cfg b/setup.cfg index a4adaed..0e64215 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,3 +27,6 @@ keywords = [files] packages = klugman +[entry_points] +console_scripts = + klugman = klugman.klugman:main