]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Use is_int_like method from oslo_utils
authorsrushti <srushti.gadadare@nttdata.com>
Fri, 26 Feb 2016 07:30:46 +0000 (07:30 +0000)
committersrushti <srushti.gadadare@nttdata.com>
Tue, 1 Mar 2016 05:03:49 +0000 (05:03 +0000)
This patch removes is_int_like method from
utils.py and replaces it with is_int_like
method from oslo_utils.strutils to eliminate
duplicate code.

TrivialFix
Change-Id: Ia81da8b0208bb2a30ab301519cfc714f26480edd

cinder/tests/unit/test_utils.py
cinder/utils.py
cinder/volume/api.py

index 205411fdbb54e07e02b8cdf333e11cb9ae3c8d15..e4b16722b30b294af411bc4d86cb4efcdc2686f9 100644 (file)
@@ -90,16 +90,6 @@ class GenericUtilsTestCase(test.TestCase):
                           obj,
                           quiet=False)
 
-    def test_is_int_like(self):
-        self.assertTrue(utils.is_int_like(1))
-        self.assertTrue(utils.is_int_like(-1))
-        self.assertTrue(utils.is_int_like(0b1))
-        self.assertTrue(utils.is_int_like(0o1))
-        self.assertTrue(utils.is_int_like(0x1))
-        self.assertTrue(utils.is_int_like('1'))
-        self.assertFalse(utils.is_int_like(1.0))
-        self.assertFalse(utils.is_int_like('abc'))
-
     def test_check_exclusive_options(self):
         utils.check_exclusive_options()
         utils.check_exclusive_options(something=None,
index 289a49eba15df1ac81d652173282bd30afd6fe66..3476912a25e775a3c8035ea153faecbb03f4ef71 100644 (file)
@@ -109,14 +109,6 @@ def as_int(obj, quiet=True):
     return obj
 
 
-def is_int_like(val):
-    """Check if a value looks like an int."""
-    try:
-        return str(int(val)) == str(val)
-    except Exception:
-        return False
-
-
 def check_exclusive_options(**kwargs):
     """Checks that only one of the provided options is actually not-none.
 
index 3d3f9429cb29eda067c600fb95bf5c42be42c7be..a79bb91c768bf56ef9532ed282eec94d9e74fcae 100644 (file)
@@ -24,6 +24,7 @@ import functools
 from oslo_config import cfg
 from oslo_log import log as logging
 from oslo_utils import excutils
+from oslo_utils import strutils
 from oslo_utils import timeutils
 from oslo_utils import uuidutils
 import six
@@ -223,7 +224,7 @@ class API(base.Base):
         # of the size value.  BUT there is a possibility that somebody
         # could call the API directly so the is_int_like check
         # handles both cases (string representation of true float or int).
-        if size and (not utils.is_int_like(size) or int(size) <= 0):
+        if size and (not strutils.is_int_like(size) or int(size) <= 0):
             msg = _('Invalid volume size provided for create request: %s '
                     '(size argument must be an integer (or string '
                     'representation of an integer) and greater '