summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2012-11-12 16:25:55 -0500
committerMark McLoughlin <markmc@redhat.com>2012-11-15 14:59:41 -0500
commitac180b95d1867c4b4daf9729e97ce93f3201d178 (patch)
treea451fc42f8e1aca149f7b213bc40a0cf5db17b83
parent0787e38090d309c2c1272886c6ea029a9f8e4924 (diff)
downloadoslo-ac180b95d1867c4b4daf9729e97ce93f3201d178.tar.gz
oslo-ac180b95d1867c4b4daf9729e97ce93f3201d178.tar.xz
oslo-ac180b95d1867c4b4daf9729e97ce93f3201d178.zip
Use stock argparse --version behaviour
optparse prints the version to stdout, argparse prints the version to stderr. There's no need to preserve the old optparse behaviour, let's just stick with argparse behaviour. Change-Id: Ie141c72112a63149d098afa9db55a95a309e79d7
-rw-r--r--openstack/common/cfg.py35
-rw-r--r--tests/unit/test_cfg.py4
2 files changed, 3 insertions, 36 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py
index 531c650..d234608 100644
--- a/openstack/common/cfg.py
+++ b/openstack/common/cfg.py
@@ -925,33 +925,6 @@ class MultiConfigParser(object):
raise KeyError
-class _VersionAction(argparse.Action):
-
- def __init__(self,
- option_strings,
- version=None,
- dest=argparse.SUPPRESS,
- default=argparse.SUPPRESS,
- help="show program's version number and exit"):
- super(_VersionAction, self).__init__(option_strings=option_strings,
- dest=dest,
- default=default,
- nargs=0,
- help=help)
- self.version = version
-
- def __call__(self, parser, namespace, values, option_string=None):
- version = self.version
- if version is None:
- version = parser.version
- formatter = parser._get_formatter()
- formatter.add_text(version)
- message = formatter.format_help()
- if message:
- parser._print_message(message, sys.stdout)
- sys.exit(0)
-
-
class ConfigCliParser(argparse.ArgumentParser):
def __init__(self, prog=None, usage=None, version=None, *args, **kwargs):
@@ -962,9 +935,7 @@ class ConfigCliParser(argparse.ArgumentParser):
if usage is not None:
self.usage = usage.replace("%prog", self.prog)
- self.add_argument('--version',
- action=_VersionAction,
- version=version)
+ self.add_argument('--version', action='version', version=version)
self._optionals.title = 'Options'
def add_argument(self, *args, **kwargs):
@@ -1008,10 +979,6 @@ class ConfigCliParser(argparse.ArgumentParser):
msg = msg.replace("usage:", "Usage:")
print >>file, msg
- def print_version(self, file=None):
- super(ConfigCliParser, self)._print_message(self.format_version(),
- file)
-
class ConfigOpts(collections.Mapping):
diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py
index 48732d5..d4559d0 100644
--- a/tests/unit/test_cfg.py
+++ b/tests/unit/test_cfg.py
@@ -255,9 +255,9 @@ class CliOptsTestCase(BaseTestCase):
self.assertTrue('--config-file' in sys.stdout.getvalue())
def test_version(self):
- self.stubs.Set(sys, 'stdout', StringIO.StringIO())
+ self.stubs.Set(sys, 'stderr', StringIO.StringIO())
self.assertRaises(SystemExit, self.conf, ['--version'])
- self.assertTrue('1.0' in sys.stdout.getvalue())
+ self.assertTrue('1.0' in sys.stderr.getvalue())
def test_config_file(self):
paths = self.create_tempfiles([('1', '[DEFAULT]'),