eric6/DebugClients/Python/ModuleLoader.py

changeset 7894
4370a8b30648
parent 7887
c1588f5a83e9
child 7911
4621c9082a43
--- a/eric6/DebugClients/Python/ModuleLoader.py	Fri Dec 18 12:24:33 2020 +0100
+++ b/eric6/DebugClients/Python/ModuleLoader.py	Fri Dec 18 12:44:31 2020 +0100
@@ -110,86 +110,49 @@
         self.__enableImportHooks = True
         return module
     
-    if sys.version_info >= (3, 4):
-        def find_spec(self, fullname, path, target=None):
-            """
-            Public method returning the module spec.
-            
-            @param fullname name of the module to be loaded
-            @type str
-            @param path path to resolve the module name
-            @type str
-            @param target module object to use for a more educated guess
-                about what spec to return
-            @type module
-            @return module spec object pointing to the module loader
-            @rtype ModuleSpec
-            """
-            if fullname in sys.modules or not self.__dbgClient.debugging:
-                return None
-            
-            if (
-                fullname in self.__modulesToPatch and
-                self.__enableImportHooks
-            ):
-                # Disable hook to be able to import original module
-                self.__enableImportHooks = False
-                return importlib.machinery.ModuleSpec(fullname, self)
-            
+    def find_spec(self, fullname, path, target=None):
+        """
+        Public method returning the module spec.
+        
+        @param fullname name of the module to be loaded
+        @type str
+        @param path path to resolve the module name
+        @type str
+        @param target module object to use for a more educated guess
+            about what spec to return
+        @type module
+        @return module spec object pointing to the module loader
+        @rtype ModuleSpec
+        """
+        if fullname in sys.modules or not self.__dbgClient.debugging:
             return None
         
-        def create_module(self, spec):
-            """
-            Public method to create a module based on the passed in spec.
-            
-            @param spec module spec object for loading the module
-            @type ModuleSpec
-            @return created and patched module
-            @rtype module
-            """
-            return self.__loadModule(spec.name)
+        if (
+            fullname in self.__modulesToPatch and
+            self.__enableImportHooks
+        ):
+            # Disable hook to be able to import original module
+            self.__enableImportHooks = False
+            return importlib.machinery.ModuleSpec(fullname, self)
         
-        def exec_module(self, module):
-            """
-            Public method to execute the created module.
-            
-            @param module module to be executed
-            @type module
-            """
-            pass
+        return None
     
-    else:
-        def find_module(self, fullname, path=None):
-            """
-            Public method returning the module loader.
-            
-            @param fullname name of the module to be loaded
-            @type str
-            @param path path to resolve the module name
-            @type str
-            @return module loader object
-            @rtype object
-            """
-            if fullname in sys.modules or not self.__dbgClient.debugging:
-                return None
-            
-            if (
-                fullname in self.__modulesToPatch and
-                self.__enableImportHooks
-            ):
-                # Disable hook to be able to import original module
-                self.__enableImportHooks = False
-                return self
-            
-            return None
+    def create_module(self, spec):
+        """
+        Public method to create a module based on the passed in spec.
         
-        def load_module(self, fullname):
-            """
-            Public method to load a module.
-            
-            @param fullname name of the module to be loaded
-            @type str
-            @return reference to the loaded module
-            @rtype module
-            """
-            return self.__loadModule(fullname)
+        @param spec module spec object for loading the module
+        @type ModuleSpec
+        @return created and patched module
+        @rtype module
+        """
+        return self.__loadModule(spec.name)
+    
+    def exec_module(self, module):
+        """
+        Public method to execute the created module.
+        
+        @param module module to be executed
+        @type module
+        """
+        pass

eric ide

mercurial