Files
python-appimage/python_appimage/utils/compat.py
Stanislav Dimitrov 5d085e38ee Use importlib.util, if importing importlib fails.
Issue reported for python>3.8
2022-08-06 22:29:16 +02:00

32 lines
603 B
Python

import sys
__all__ = ['decode', 'find_spec']
def decode(s):
'''Decode Python 3 bytes as str
'''
try:
return s.decode()
except Exception:
return str(s)
if sys.version_info[0] == 2:
from collections import namedtuple
import imp
ModuleSpec = namedtuple('ModuleSpec', ('name', 'origin'))
def find_spec(name):
return ModuleSpec(name, imp.find_module(name)[1])
else:
import importlib
try:
find_spec = importlib.util.find_spec
except AttributeError:
import importlib.util
find_spec = importlib.util.find_spec