From 8e8ec59e30133362c4310e643e24e191ceabd715 Mon Sep 17 00:00:00 2001 From: Jim Paris Date: Thu, 1 Aug 2013 15:14:34 -0400 Subject: [PATCH] Support "nilmtool cmd --version" --- nilmdb/cmdline/cmdline.py | 8 ++++++++ tests/test_cmdline.py | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/nilmdb/cmdline/cmdline.py b/nilmdb/cmdline/cmdline.py index dc57103..72338b8 100644 --- a/nilmdb/cmdline/cmdline.py +++ b/nilmdb/cmdline/cmdline.py @@ -29,6 +29,14 @@ for cmd in subcommands: subcmd_mods[cmd] = __import__("nilmdb.cmdline." + cmd, fromlist = [ cmd ]) class JimArgumentParser(argparse.ArgumentParser): + def parse_args(self, args=None, namespace=None): + # Look for --version anywhere and change it to just "nilmtool + # --version". This makes "nilmtool cmd --version" work, which + # is needed by help2man. + if "--version" in (args or sys.argv[1:]): + args = [ "--version" ] + return argparse.ArgumentParser.parse_args(self, args, namespace) + def error(self, message): self.print_usage(sys.stderr) self.exit(2, sprintf("error: %s\n", message)) diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 4bacde0..4d3c630 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -160,6 +160,12 @@ class TestCmdline(object): self.ok("--help") self.contain("usage:") + # help + self.ok("--version") + ver = self.captured + self.ok("list --version") + eq_(self.captured, ver) + # fail for no args self.fail("")