From fbacc26a6a8b92f4b3570c411b186ab86cbcc1b1 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Wed, 12 Aug 2015 12:07:52 +0200 Subject: [PATCH] Use six.integer_types instead of (long, int) Reviewed-By: Christian Heimes Reviewed-By: Jan Cholasta --- ipalib/parameters.py | 16 ++++++++-------- ipalib/rpc.py | 4 ++-- ipalib/util.py | 2 +- ipapython/cookie.py | 4 ++-- ipapython/dn.py | 4 ++-- ipapython/ipaldap.py | 2 +- ipatests/test_ipalib/test_parameters.py | 7 +++++-- 7 files changed, 21 insertions(+), 18 deletions(-) diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 175adefb8..b81e515c3 100644 --- a/ipalib/parameters.py +++ b/ipalib/parameters.py @@ -1031,7 +1031,7 @@ class Number(Param): """ if type(value) in self.allowed_types: return value - if type(value) in (unicode, int, long, float): + if type(value) in (unicode, float) + six.integer_types: try: return self.type(value) except ValueError: @@ -1050,12 +1050,12 @@ class Int(Number): """ type = int - allowed_types = int, long + allowed_types = six.integer_types type_error = _('must be an integer') kwargs = Param.kwargs + ( - ('minvalue', (int, long), int(MININT)), - ('maxvalue', (int, long), int(MAXINT)), + ('minvalue', six.integer_types, int(MININT)), + ('maxvalue', six.integer_types, int(MAXINT)), ) @staticmethod @@ -1097,7 +1097,7 @@ class Int(Number): """ Check min constraint. """ - assert type(value) in (int, long) + assert type(value) in six.integer_types if value < self.minvalue: return _('must be at least %(minvalue)d') % dict( minvalue=self.minvalue, @@ -1107,7 +1107,7 @@ class Int(Number): """ Check max constraint. """ - assert type(value) in (int, long) + assert type(value) in six.integer_types if value > self.maxvalue: return _('can be at most %(maxvalue)d') % dict( maxvalue=self.maxvalue, @@ -1413,7 +1413,7 @@ class Str(Data): """ if type(value) in self.allowed_types: return value - if type(value) in (int, long, float, decimal.Decimal): + if type(value) in (float, decimal.Decimal) + six.integer_types: return self.type(value) if type(value) in (tuple, list): raise ConversionError(name=self.name, index=index, @@ -1567,7 +1567,7 @@ class IntEnum(Enum): """ type = int - allowed_types = int, long + allowed_types = six.integer_types type_error = Int.type_error def _convert_scalar(self, value, index=None): diff --git a/ipalib/rpc.py b/ipalib/rpc.py index b76d27885..dcbfafe05 100644 --- a/ipalib/rpc.py +++ b/ipalib/rpc.py @@ -166,7 +166,7 @@ def xml_wrap(value, version): if type(value) is Decimal: # transfer Decimal as a string return unicode(value) - if isinstance(value, (int, long)) and (value < MININT or value > MAXINT): + if isinstance(value, six.integer_types) and (value < MININT or value > MAXINT): return unicode(value) if isinstance(value, DN): return str(value) @@ -184,7 +184,7 @@ def xml_wrap(value, version): else: return unicode(value) - assert type(value) in (unicode, int, long, float, bool, NoneType) + assert type(value) in (unicode, float, bool, NoneType) + six.integer_types return value diff --git a/ipalib/util.py b/ipalib/util.py index 3b8e59216..3cd23c96e 100644 --- a/ipalib/util.py +++ b/ipalib/util.py @@ -52,7 +52,7 @@ def json_serialize(obj): return [json_serialize(o) for o in obj] if isinstance(obj, dict): return {k: json_serialize(v) for (k, v) in obj.items()} - if isinstance(obj, (bool, float, int, long, unicode, NoneType)): + if isinstance(obj, (bool, float, unicode, NoneType, six.integer_types)): return obj if isinstance(obj, str): return obj.decode('utf-8') diff --git a/ipapython/cookie.py b/ipapython/cookie.py index 8b91457d9..ee54efd7b 100644 --- a/ipapython/cookie.py +++ b/ipapython/cookie.py @@ -391,7 +391,7 @@ class Cookie(object): self._timestamp = None elif isinstance(value, datetime.datetime): self._timestamp = value - elif isinstance(value, (int, long, float)): + elif isinstance(value, (six.integer_types, float)): self._timestamp = datetime.datetime.utcfromtimestamp(value) elif isinstance(value, six.string_types): self._timestamp = Cookie.parse_datetime(value) @@ -417,7 +417,7 @@ class Cookie(object): self._expires = None elif isinstance(value, datetime.datetime): self._expires = value - elif isinstance(value, (int, long, float)): + elif isinstance(value, (six.integer_types, float)): self._expires = datetime.datetime.utcfromtimestamp(value) elif isinstance(value, six.string_types): self._expires = Cookie.parse_datetime(value) diff --git a/ipapython/dn.py b/ipapython/dn.py index e6d9dbeb5..640be72c3 100644 --- a/ipapython/dn.py +++ b/ipapython/dn.py @@ -833,7 +833,7 @@ class RDN(object): return len(self._avas) def __getitem__(self, key): - if isinstance(key, (int, long)): + if isinstance(key, six.integer_types): return self._get_ava(self._avas[key]) if isinstance(key, slice): return [self._get_ava(ava) for ava in self._avas[key]] @@ -1139,7 +1139,7 @@ class DN(object): return len(self.rdns) def __getitem__(self, key): - if isinstance(key, (int, long)): + if isinstance(key, six.integer_types): return self._get_rdn(self.rdns[key]) if isinstance(key, slice): cls = self.__class__ diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py index 66622ef61..705d694b2 100644 --- a/ipapython/ipaldap.py +++ b/ipapython/ipaldap.py @@ -831,7 +831,7 @@ class LDAPClient(object): return 'TRUE' else: return 'FALSE' - elif isinstance(val, (unicode, float, int, long, Decimal, DN)): + elif isinstance(val, (unicode, six.integer_types, long, Decimal, DN)): return value_to_utf8(val) elif isinstance(val, DNSName): return str(val) diff --git a/ipatests/test_ipalib/test_parameters.py b/ipatests/test_ipalib/test_parameters.py index a1273448e..e837bf8ec 100644 --- a/ipatests/test_ipalib/test_parameters.py +++ b/ipatests/test_ipalib/test_parameters.py @@ -31,6 +31,10 @@ import sys from types import NoneType from decimal import Decimal from inspect import isclass +from xmlrpclib import MAXINT, MININT + +import six + from ipatests.util import raises, ClassChecker, read_only from ipatests.util import dummy_ugettext, assert_equal from ipatests.data import binary_bytes, utf8_bytes, unicode_str @@ -38,7 +42,6 @@ from ipalib import parameters, text, errors, config from ipalib.constants import TYPE_ERROR, CALLABLE_ERROR from ipalib.errors import ValidationError, ConversionError from ipalib import _ -from xmlrpclib import MAXINT, MININT NULLS = (None, '', u'', tuple(), []) @@ -1246,7 +1249,7 @@ class test_Int(ClassChecker): # Test with no kwargs: o = self.cls('my_number') assert o.type == int - assert o.allowed_types == (int, long) + assert o.allowed_types == six.integer_types assert isinstance(o, parameters.Int) assert o.minvalue == int(MININT) assert o.maxvalue == int(MAXINT)