src/eric7/QScintilla/DocstringGenerator/BaseDocstringGenerator.py

branch
eric7
changeset 9486
5a8179763e38
parent 9482
a2bc06a54d9d
child 9497
8beca4047c53
--- a/src/eric7/QScintilla/DocstringGenerator/BaseDocstringGenerator.py	Tue Nov 08 11:34:19 2022 +0100
+++ b/src/eric7/QScintilla/DocstringGenerator/BaseDocstringGenerator.py	Tue Nov 08 11:50:50 2022 +0100
@@ -7,6 +7,7 @@
 Module implementing a docstring generator base class.
 """
 
+import importlib
 import re
 
 from PyQt6.QtCore import Qt
@@ -141,24 +142,21 @@
         @return list of docstring lines
         @rtype str
         """
-        if docstringType == "ericdoc":
-            from .EricdocGenerator import generateEricDoc  # __IGNORE_WARNING_I101__
-
-            return generateEricDoc(functionInfo)
-        elif docstringType == "numpydoc":
-            from .NumpydocGenerator import generateNumpyDoc  # __IGNORE_WARNING_I101__
+        generatorModuleMapping = {
+            "ericdoc": "EricdocGenerator",
+            "numpydoc": "NumpydocGenerator",
+            "goodledoc": "GoogledocGenerator",
+            "sphinxdoc": "SphinxdocGenerator",
+        }
+        if docstringType in generatorModuleMapping:
+            mod = importlib.import_module(
+                "eric7.QScintilla.DocstringGenerator.{0}".format(
+                    generatorModuleMapping[docstringType]
+                )
+            )
+            return mod.generateDoc(functionInfo, self.editor)
 
-            return generateNumpyDoc(functionInfo)
-        elif docstringType == "googledoc":
-            from .GoogledocGenerator import generateGoogleDoc  # __IGNORE_WARNING_I101__
-
-            return generateGoogleDoc(functionInfo, self.editor)
-        elif docstringType == "sphinxdoc":
-            from .SphinxdocGenerator import generateSphinxDoc  # __IGNORE_WARNING_I101__
-
-            return generateSphinxDoc(functionInfo)
-        else:
-            return []
+        return []
 
 
 class FunctionInfo:

eric ide

mercurial