diff --git a/source-builder/sb/pkgconfig.py b/source-builder/sb/pkgconfig.py index 89b4d5c..198ec80 100755 --- a/source-builder/sb/pkgconfig.py +++ b/source-builder/sb/pkgconfig.py @@ -102,6 +102,22 @@ class package(object): dst.fields = copy.copy(src.fields) dst.nodes = copy.copy(src.nodes) + @staticmethod + def _is_string(us): + if type(us) == str: + return True + try: + if type(us) == unicode: + return True + except: + pass + try: + if type(us) == bytes: + return True + except: + pass + return False + @staticmethod def is_version(v): for n in v.split('.'): @@ -214,12 +230,7 @@ class package(object): prefix = default_prefix() if prefix: self._log('prefix: %s' % (prefix)) - try: - if type(prefix) is unicode: - prefix = prefix.decode("utf-8", "ignore") - except: - pass - if type(prefix) is str: + if self._is_string(prefix): prefix = str(prefix) self.prefix = [] for p in prefix.split(os.pathsep):