From cde062dd42f67dfd2d7686286a322d40e9c3a4b7 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 eb05d529..da03764d 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