Skip to content

Commit 286565e

Browse files
committed
Python 3 compat for core.version_compare()
1 parent f5ccca9 commit 286565e

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

osgtest/library/core.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,13 +416,17 @@ def version_compare(evr1, evr2):
416416
as a 3-element tuple or list.
417417
418418
"""
419-
if isinstance(evr1, basestring):
419+
if is_string(evr1):
420420
epoch1, version1, release1 = stringToVersion(evr1)
421+
elif isinstance(evr1, bytes):
422+
epoch1, version1, release1 = stringToVersion(evr1.decode())
421423
else:
422424
epoch1, version1, release1 = evr1
423425

424-
if isinstance(evr2, basestring):
426+
if is_string(evr2):
425427
epoch2, version2, release2 = stringToVersion(evr2)
428+
elif isinstance(evr2, bytes):
429+
epoch2, version2, release2 = stringToVersion(evr2.decode())
426430
else:
427431
epoch2, version2, release2 = evr2
428432

@@ -755,3 +759,12 @@ def run_fn_if_el_release_ok(*args, **kwargs):
755759
return run_fn_if_el_release_ok
756760
return el_release_decorator
757761

762+
763+
try:
764+
unicode
765+
except NameError: # python 3
766+
unicode = str
767+
768+
769+
def is_string(var):
770+
return isinstance(var, (str, unicode))

0 commit comments

Comments
 (0)