summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavanum Srinivas <dims@linux.vnet.ibm.com>2012-11-24 08:54:20 -0500
committerDavanum Srinivas <dims@linux.vnet.ibm.com>2012-11-24 08:54:59 -0500
commitf30587718a79755c3b59d9a0b680dd7f971cfdcd (patch)
tree43ec21eaa1094aded14125f33183d1e3ab974de3
parent60ae013f43624e8ad1c19413a3744bdb91178224 (diff)
downloadoslo-f30587718a79755c3b59d9a0b680dd7f971cfdcd.tar.gz
oslo-f30587718a79755c3b59d9a0b680dd7f971cfdcd.tar.xz
oslo-f30587718a79755c3b59d9a0b680dd7f971cfdcd.zip
Fix ListOpt to trim whitespace
- throw in an extra strip() in the list parsing code - add a test case to verify that it works! Fixes LP #1079299 Change-Id: I4f0864c72ecd2569d0461c301acda395c87a93e0
-rw-r--r--openstack/common/cfg.py2
-rw-r--r--tests/unit/test_cfg.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py
index e967c61..c8a15d7 100644
--- a/openstack/common/cfg.py
+++ b/openstack/common/cfg.py
@@ -745,7 +745,7 @@ class ListOpt(Opt):
"""
def __call__(self, parser, namespace, values, option_string=None):
if values is not None:
- values = values.split(',')
+ values = [a.strip() for a in values.split(',')]
setattr(namespace, self.dest, values)
def _get_from_config_parser(self, cparser, section):
diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py
index 384a57a..bd9e914 100644
--- a/tests/unit/test_cfg.py
+++ b/tests/unit/test_cfg.py
@@ -219,6 +219,10 @@ class CliOptsTestCase(BaseTestCase):
self._do_cli_test(ListOpt, None,
['--foo', 'blaa,bar'], ['blaa', 'bar'])
+ def test_list_arg_with_spaces(self):
+ self._do_cli_test(ListOpt, None,
+ ['--foo', 'blaa ,bar'], ['blaa', 'bar'])
+
def test_list_arg_deprecated(self):
self._do_cli_test(ListOpt, None,
['--oldfoo', 'blaa,bar'], ['blaa', 'bar'])