diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-04-12 09:01:26 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2019-04-12 09:01:26 +0200 |
commit | b7971b98a5448e735184339c99f3401bb12630de (patch) | |
tree | c981868915e45e5c91cd7ad094cb15d8dc72f471 | |
parent | c3d6619176a108758e1c7f0622cb64766471b27d (diff) | |
download | pysnmp-git-b7971b98a5448e735184339c99f3401bb12630de.tar.gz |
Fix `importlib` use on Py27
Also fixes bug in `imp`-based initialization
-rw-r--r-- | pysnmp/smi/builder.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index 2f55b8eb..a71c8a2c 100644 --- a/pysnmp/smi/builder.py +++ b/pysnmp/smi/builder.py @@ -14,16 +14,22 @@ import traceback try: import importlib - PY_MAGIC_NUMBER = importlib.util.MAGIC_NUMBER - SOURCE_SUFFIXES = importlib.machinery.SOURCE_SUFFIXES - BYTECODE_SUFFIXES = importlib.machinery.BYTECODE_SUFFIXES + try: + PY_MAGIC_NUMBER = importlib.util.MAGIC_NUMBER + SOURCE_SUFFIXES = importlib.machinery.SOURCE_SUFFIXES + BYTECODE_SUFFIXES = importlib.machinery.BYTECODE_SUFFIXES + + except Exception: + raise ImportError() except ImportError: import imp PY_MAGIC_NUMBER = imp.get_magic() - SOURCE_SUFFIXES = [imp.PY_SOURCE] - BYTECODE_SUFFIXES = [imp.PY_COMPILED] + SOURCE_SUFFIXES = [s[0] for s in imp.get_suffixes() + if s[2] == imp.PY_SOURCE] + BYTECODE_SUFFIXES = [s[0] for s in imp.get_suffixes() + if s[2] == imp.PY_COMPILED] PY_SUFFIXES = SOURCE_SUFFIXES + BYTECODE_SUFFIXES |