summaryrefslogtreecommitdiff
path: root/openstackclient/common/parseractions.py
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2016-06-07 16:41:21 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2016-06-08 10:15:19 +0800
commitcf122397733b8795530577b7824aeae305719658 (patch)
treef9ad74490da053e8c78535df96973ec71cfafb76 /openstackclient/common/parseractions.py
parent5293bb103e75542d9defb9d0d5ed3c144f0657fe (diff)
downloadpython-openstackclient-cf122397733b8795530577b7824aeae305719658.tar.gz
Error handling for KeyValueAction class.
The set --property command requires that the input match the "key=value" type, but if the type don't match, the return value will be None, and the command still can be implemented successfully, this may confuse the users. I think we should raise exception if the argument type don't match "key=value". So I make some changes in KeyValueAction class in this patch. Change-Id: I14e64922faa7e083bc8b5e7e1cac41ef8117c224 Closes-Bug: #1589935
Diffstat (limited to 'openstackclient/common/parseractions.py')
-rw-r--r--openstackclient/common/parseractions.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/openstackclient/common/parseractions.py b/openstackclient/common/parseractions.py
index 77798f90..8f772344 100644
--- a/openstackclient/common/parseractions.py
+++ b/openstackclient/common/parseractions.py
@@ -35,7 +35,9 @@ class KeyValueAction(argparse.Action):
if '=' in values:
getattr(namespace, self.dest, {}).update([values.split('=', 1)])
else:
- getattr(namespace, self.dest, {}).pop(values, None)
+ msg = _("Expected 'key=value' type, "
+ "but got: %s") % (str(values))
+ raise argparse.ArgumentTypeError(msg)
class MultiKeyValueAction(argparse.Action):