diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-11-12 03:31:56 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-11-12 03:31:56 +0000 |
| commit | ed0981f4d8cd30b2c8d4f50aafd0d4a30053bd39 (patch) | |
| tree | 32afa3f5fbf06cc24536564e3bda744ec48a2b2e /openstackclient/common | |
| parent | 6611f3781be44e7981f319073b2cb737bc0d0d0c (diff) | |
| parent | ea63553925bce0432958ae4a15536f7f83b1f28d (diff) | |
| download | python-openstackclient-ed0981f4d8cd30b2c8d4f50aafd0d4a30053bd39.tar.gz | |
Merge "Fix the bug of "openstack console log show""
Diffstat (limited to 'openstackclient/common')
| -rw-r--r-- | openstackclient/common/parseractions.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/openstackclient/common/parseractions.py b/openstackclient/common/parseractions.py index 8f6008e2..fd90369a 100644 --- a/openstackclient/common/parseractions.py +++ b/openstackclient/common/parseractions.py @@ -65,3 +65,18 @@ class RangeAction(argparse.Action): # Too many values msg = "Invalid range, too many values" raise argparse.ArgumentError(self, msg) + + +class NonNegativeAction(argparse.Action): + """A custom action to check whether the value is non-negative or not + + Ensures the value is >= 0. + """ + + def __call__(self, parser, namespace, values, option_string=None): + try: + assert(int(values) >= 0) + setattr(namespace, self.dest, values) + except Exception: + msg = "%s expected a non-negative integer" % (str(option_string)) + raise argparse.ArgumentTypeError(self, msg) |
