mitogen: Guard importlib imports with sys.version_info

Reduce number of doomed mitogen.core.Importer GET_MODULE requests from e.g.
Python 2.x contexts. Simplify work of static type checkers, LSPs, etc.
pull/1415/head
Alex Willmer 4 days ago
parent cd58b7eac1
commit 94b2f5d8d6

@ -36,12 +36,10 @@ import os
import re
import sys
try:
# Python >= 3.4, PEP 451 ModuleSpec API
if sys.version_info >= (3, 4):
import importlib.machinery
import importlib.util
except ImportError:
# Python < 3.4, PEP 302 Import Hooks
else:
import imp
import mitogen.imports

@ -52,20 +52,17 @@ import tempfile
import traceback
import types
if sys.version_info >= (3, 4):
import importlib.machinery
else:
import imp
from ansible.module_utils.six.moves import shlex_quote
import mitogen.core
import ansible_mitogen.target # TODO: circular import
from mitogen.core import to_text
try:
# Python >= 3.4, PEP 451 ModuleSpec API
import importlib.machinery
import importlib.util
except ImportError:
# Python < 3.4, PEP 302 Import Hooks
import imp
try:
# Cannot use cStringIO as it does not support Unicode.
from StringIO import StringIO

@ -96,12 +96,10 @@ else:
if blocking: fcntl.fcntl(fd, fcntl.F_SETFL, fl & ~os.O_NONBLOCK)
else: fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)
try:
# Python >= 3.4, PEP 451 ModuleSpec API
if sys.version_info >= (3, 4):
import importlib.machinery
import importlib.util
except ImportError:
# Python < 3.4, PEP 302 Import Hooks
else:
import imp
if sys.version_info >= (2, 5):

@ -50,9 +50,7 @@ import zlib
if sys.version_info >= (3, 7):
import importlib.resources
try:
# Python >= 3.4, PEP 451 ModuleSpec API
import importlib.machinery
if sys.version_info >= (3, 4):
import importlib.util
from _imp import is_builtin as _is_builtin
@ -66,8 +64,7 @@ try:
return maybe_spec.loader
except AttributeError:
return None
except ImportError:
# Python < 3.4, PEP 302 Import Hooks
else:
import imp
from imp import is_builtin as _is_builtin

Loading…
Cancel
Save