diff options
| author | Mark McLoughlin <markmc@redhat.com> | 2012-11-12 16:25:55 -0500 |
|---|---|---|
| committer | Mark McLoughlin <markmc@redhat.com> | 2012-11-15 14:59:41 -0500 |
| commit | ac180b95d1867c4b4daf9729e97ce93f3201d178 (patch) | |
| tree | a451fc42f8e1aca149f7b213bc40a0cf5db17b83 | |
| parent | 0787e38090d309c2c1272886c6ea029a9f8e4924 (diff) | |
| download | oslo-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.py | 35 | ||||
| -rw-r--r-- | tests/unit/test_cfg.py | 4 |
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]'), |
