|
1 | 1 | """Legacy python/python3-vim emulation.""" |
2 | | -try: |
3 | | - import types |
4 | | - import importlib |
5 | | -except ImportError: |
6 | | - import imp |
7 | 2 | import io |
8 | 3 | import logging |
9 | 4 | import os |
10 | 5 | import sys |
11 | 6 |
|
12 | 7 | from .decorators import plugin, rpc_export |
13 | 8 | from ..api import Nvim, walk |
14 | | -from ..compat import IS_PYTHON3, IS_PYTHON3_7, find_module |
| 9 | +from ..compat import IS_PYTHON3, find_module, load_module, new_module |
15 | 10 | from ..msgpack_rpc import ErrorResponse |
16 | 11 | from ..util import format_exc_skip |
17 | 12 |
|
@@ -41,10 +36,7 @@ def __init__(self, nvim): |
41 | 36 | """Initialize the legacy python-vim environment.""" |
42 | 37 | self.setup(nvim) |
43 | 38 | # context where all code will run |
44 | | - if IS_PYTHON3_7: |
45 | | - self.module = types.ModuleType('__main__') |
46 | | - else: |
47 | | - self.module = imp.new_module('__main__') |
| 39 | + self.module = new_module('__main__') |
48 | 40 | nvim.script_context = self.module |
49 | 41 | # it seems some plugins assume 'sys' is already imported, so do it now |
50 | 42 | exec('import sys', self.module.__dict__) |
@@ -239,10 +231,7 @@ def load_module(self, fullname, path=None): |
239 | 231 | return sys.modules[fullname] |
240 | 232 | except KeyError: |
241 | 233 | pass |
242 | | - if IS_PYTHON3_7: |
243 | | - return importlib.import_module(fullname, *self.module) |
244 | | - else: |
245 | | - return imp.load_module(fullname, *self.module) |
| 234 | + return load_module(fullname, *self.module) |
246 | 235 |
|
247 | 236 | class VimPathFinder(object): |
248 | 237 | @staticmethod |
|
0 commit comments