@@ -153,7 +153,14 @@ class _ImportHookChainedLoader:
153153 def __init__ (self , loader ):
154154 self .loader = loader
155155
156- def load_module (self , fullname ):
156+ if hasattr (loader , "load_module" ):
157+ self .load_module = self ._load_module
158+ if hasattr (loader , "create_module" ):
159+ self .create_module = self ._create_module
160+ if hasattr (loader , "exec_module" ):
161+ self .exec_module = self ._exec_module
162+
163+ def _load_module (self , fullname ):
157164 module = self .loader .load_module (fullname )
158165 notify_module_loaded (module )
159166
@@ -162,10 +169,10 @@ def load_module(self, fullname):
162169 # Python 3.4 introduced create_module() and exec_module() instead of
163170 # load_module() alone. Splitting the two steps.
164171
165- def create_module (self , spec ):
172+ def _create_module (self , spec ):
166173 return self .loader .create_module (spec )
167174
168- def exec_module (self , module ):
175+ def _exec_module (self , module ):
169176 self .loader .exec_module (module )
170177 notify_module_loaded (module )
171178
0 commit comments