fix long type for py3 in RequestConstraint

This commit is contained in:
Michael James 2018-10-14 19:48:09 -06:00
parent 6cb3567e3d
commit 3d7c20a637

View file

@ -136,8 +136,6 @@ class RequestConstraint(object):
Return value coerced to be the same type as otherValue. If this is Return value coerced to be the same type as otherValue. If this is
not possible, just return value unmodified. not possible, just return value unmodified.
''' '''
# cannot use type() because otherValue might be an instance of an
# old-style class (then it would just be of type "instance")
if not isinstance(value, otherValue.__class__): if not isinstance(value, otherValue.__class__):
try: try:
return otherValue.__class__(value) return otherValue.__class__(value)
@ -210,7 +208,7 @@ class RequestConstraint(object):
@staticmethod @staticmethod
def _stringify(value): def _stringify(value):
if six.PY2: if six.PY2:
if type(value) in {str, int, long, bool, float, unicode}: if isinstance(value, (str, int, long, bool, float, unicode)):
return str(value) return str(value)
else: else:
# Collections are not allowed; they are handled separately. # Collections are not allowed; they are handled separately.
@ -219,7 +217,7 @@ class RequestConstraint(object):
raise TypeError('Constraint values of type ' + repr(type(value)) + raise TypeError('Constraint values of type ' + repr(type(value)) +
'are not allowed') 'are not allowed')
else: else:
if isinstance(value, (str, int, long, float)): if isinstance(value, (str, int, bool, float)):
return str(value) return str(value)
else: else:
# Collections are not allowed; they are handled separately. # Collections are not allowed; they are handled separately.