11"""Legacy python/python3-vim emulation."""
2- import imp
32import io
43import logging
54import os
65import sys
76
87from .decorators import plugin , rpc_export
98from ..api import Nvim , walk
9+ from ..compat import IS_PYTHON3 , find_module , load_module , new_module
1010from ..msgpack_rpc import ErrorResponse
1111from ..util import format_exc_skip
1212
1616logger = logging .getLogger (__name__ )
1717debug , info , warn = (logger .debug , logger .info , logger .warn ,)
1818
19- IS_PYTHON3 = sys .version_info >= (3 , 0 )
20-
2119if IS_PYTHON3 :
2220 basestring = str
2321
@@ -38,7 +36,7 @@ def __init__(self, nvim):
3836 """Initialize the legacy python-vim environment."""
3937 self .setup (nvim )
4038 # context where all code will run
41- self .module = imp . new_module ('__main__' )
39+ self .module = new_module ('__main__' )
4240 nvim .script_context = self .module
4341 # it seems some plugins assume 'sys' is already imported, so do it now
4442 exec ('import sys' , self .module .__dict__ )
@@ -205,7 +203,7 @@ def eval(self, expr):
205203 return walk (num_to_str , obj )
206204
207205
208- # This was copied /adapted from nvim-python help
206+ # Copied /adapted from : help if_pyth.
209207def path_hook (nvim ):
210208 def _get_paths ():
211209 if nvim ._thread_invalid ():
@@ -217,11 +215,11 @@ def _find_module(fullname, oldtail, path):
217215 if idx > 0 :
218216 name = oldtail [:idx ]
219217 tail = oldtail [idx + 1 :]
220- fmr = imp . find_module (name , path )
221- module = imp . find_module (fullname [:- len (oldtail )] + name , * fmr )
218+ fmr = find_module (name , path )
219+ module = find_module (fullname [:- len (oldtail )] + name , * fmr )
222220 return _find_module (fullname , tail , module .__path__ )
223221 else :
224- return imp . find_module (fullname , path )
222+ return find_module (fullname , path )
225223
226224 class VimModuleLoader (object ):
227225 def __init__ (self , module ):
@@ -233,7 +231,7 @@ def load_module(self, fullname, path=None):
233231 return sys .modules [fullname ]
234232 except KeyError :
235233 pass
236- return imp . load_module (fullname , * self .module )
234+ return load_module (fullname , * self .module )
237235
238236 class VimPathFinder (object ):
239237 @staticmethod
0 commit comments