|
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