summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-16 03:49:31 +0000
committerGerrit Code Review <review@openstack.org>2012-11-16 03:49:31 +0000
commit08582516b3eec3327d2f12def4b35edf6a3c0b26 (patch)
tree7d08ef0a2ecb0a555f03c0c9020dc93255ebc06a
parente174e00158064601f5a55e78e31c8de806a35066 (diff)
parentac180b95d1867c4b4daf9729e97ce93f3201d178 (diff)
downloadoslo-08582516b3eec3327d2f12def4b35edf6a3c0b26.tar.gz
oslo-08582516b3eec3327d2f12def4b35edf6a3c0b26.tar.xz
oslo-08582516b3eec3327d2f12def4b35edf6a3c0b26.zip
Merge "Use stock argparse --version behaviour"
-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]'),