Use method validate_integer from oslo.utils

We added method validate_integer in oslo.utils 3.33.0 [1],
so we can simply the method validate_integer in Nova.

Depends-On: I741875eba329b762789a7c7c910a6c46beeff3fa

[1] https://review.openstack.org/#/c/508401/

Change-Id: Id90c7f66f75de0264ea70233ee020fab2ddc9012
This commit is contained in:
ChangBo Guo(gcb)
2017-12-18 12:18:39 +08:00
parent c48f339dd5
commit 87b6880ac1

View File

@@ -851,29 +851,19 @@ def check_string_length(value, name=None, min_length=0, max_length=None):
def validate_integer(value, name, min_value=None, max_value=None): def validate_integer(value, name, min_value=None, max_value=None):
"""Make sure that value is a valid integer, potentially within range.""" """Make sure that value is a valid integer, potentially within range.
try:
value = int(str(value))
except (ValueError, UnicodeEncodeError):
msg = _('%(value_name)s must be an integer')
raise exception.InvalidInput(reason=(
msg % {'value_name': name}))
if min_value is not None: :param value: value of the integer
if value < min_value: :param name: name of the integer
msg = _('%(value_name)s must be >= %(min_value)d') :param min_value: min_value of the integer
raise exception.InvalidInput( :param max_value: max_value of the integer
reason=(msg % {'value_name': name, :returns: integer
'min_value': min_value})) :raise: InvalidInput If value is not a valid integer
if max_value is not None: """
if value > max_value: try:
msg = _('%(value_name)s must be <= %(max_value)d') return strutils.validate_integer(value, name, min_value, max_value)
raise exception.InvalidInput( except ValueError as e:
reason=( raise exception.InvalidInput(reason=six.text_type(e))
msg % {'value_name': name,
'max_value': max_value})
)
return value
def _serialize_profile_info(): def _serialize_profile_info():