From b7971b98a5448e735184339c99f3401bb12630de Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Fri, 12 Apr 2019 09:01:26 +0200 Subject: Fix `importlib` use on Py27 Also fixes bug in `imp`-based initialization --- pysnmp/smi/builder.py | 16 +++++++++++----- 1 file 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 -- cgit v1.2.1