eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py

branch
eric7
changeset 8801
8fbb21be8579
parent 8791
0c24be2a75d8
child 8802
129a973fc33e
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Wed Dec 01 18:03:11 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Wed Dec 01 20:09:57 2021 +0100
@@ -546,6 +546,11 @@
                     SecurityDefaults["check_typed_exception"],
             }
         
+        if "ImportsChecker" not in self.__data:
+            self.__data["ImportsChecker"] = {
+                "ApplicationModuleNames": [],
+            }
+        
         self.__initCategoriesList(self.__data["EnabledCheckerCategories"])
         self.excludeFilesEdit.setText(self.__data["ExcludeFiles"])
         self.excludeMessagesEdit.setText(self.__data["ExcludeMessages"])
@@ -807,11 +812,16 @@
                     self.typedExceptionsCheckBox.isChecked(),
             }
             
+            importsArgs = {
+                "ApplicationModuleNames":
+                    sorted(self.appModulesEdit.toPlainText().split()),
+            }
+            
             self.__options = [excludeMessages, includeMessages, repeatMessages,
                               fixCodes, noFixCodes, fixIssues, maxLineLength,
                               maxDocLineLength, blankLines, hangClosing,
                               docType, codeComplexityArgs, miscellaneousArgs,
-                              annotationArgs, securityArgs]
+                              annotationArgs, securityArgs, importsArgs]
             
             # now go through all the files
             self.progress = 0
@@ -1239,6 +1249,10 @@
                     "CheckTypedException":
                         self.typedExceptionsCheckBox.isChecked(),
                 },
+                "ImportsChecker": {
+                    "ApplicationModuleNames":
+                        sorted(self.appModulesEdit.toPlainText().split())
+                },
             }
             if (
                 json.dumps(data, sort_keys=True) !=
@@ -1496,7 +1510,7 @@
             )
         ))
         
-        # type annotations
+        # Type Annotations Checker
         self.minAnnotationsCoverageSpinBox.setValue(int(
             Preferences.getSettings().value(
                 "PEP8/MinimumAnnotationsCoverage",
@@ -1538,7 +1552,7 @@
                 "PEP8/OverloadDecorators",
                 AnnotationsCheckerDefaultArgs["OverloadDecorators"]))))
         
-        # security
+        # Security Checker
         from .Security.SecurityDefaults import SecurityDefaults
         self.tmpDirectoriesEdit.setPlainText("\n".join(
             Preferences.toList(Preferences.getSettings().value(
@@ -1581,6 +1595,11 @@
                 "PEP8/CheckTypedException",
                 SecurityDefaults["check_typed_exception"]))),
         
+        # Imports Checker
+        self.appModulesEdit.setPlainText(" ".join(
+            sorted(Preferences.toList(Preferences.getSettings().value(
+                "PEP8/ApplicationModuleNames", [])))))
+        
         self.__cleanupData()
     
     @pyqtSlot()
@@ -1645,7 +1664,7 @@
             "PEP8/CommentedCodeWhitelist",
             self.__getCommentedCodeCheckerWhiteList())
         
-        # type annotations
+        # Type Annotations Checker
         Preferences.getSettings().setValue(
             "PEP8/MinimumAnnotationsCoverage",
             self.minAnnotationsCoverageSpinBox.value())
@@ -1679,7 +1698,7 @@
             [d.strip()
              for d in self.overloadDecoratorEdit.text().split(",")])
         
-        # security
+        # Security Checker
         Preferences.getSettings().setValue(
             "PEP8/HardcodedTmpDirectories",
             [t.strip()
@@ -1716,6 +1735,11 @@
         Preferences.getSettings().setValue(
             "PEP8/CheckTypedException",
             self.typedExceptionsCheckBox.isChecked()),
+        
+        # Imports Checker
+        Preferences.getSettings().setValue(
+            "PEP8/ApplicationModuleNames",
+            sorted(self.appModulesEdit.toPlainText().split()))
     
     @pyqtSlot()
     def on_resetDefaultButton_clicked(self):
@@ -1776,7 +1800,7 @@
                 "CommentedCodeChecker"]["WhiteList"]
         )
         
-        # type annotations
+        # Type Annotations Checker
         Preferences.getSettings().setValue(
             "PEP8/MinimumAnnotationsCoverage",
             AnnotationsCheckerDefaultArgs["MinimumCoverage"])
@@ -1808,7 +1832,7 @@
             "PEP8/OverloadDecorators",
             AnnotationsCheckerDefaultArgs["OverloadDecorators"])
         
-        # security
+        # Security Checker
         from .Security.SecurityDefaults import SecurityDefaults
         Preferences.getSettings().setValue(
             "PEP8/HardcodedTmpDirectories",
@@ -1841,6 +1865,10 @@
             "PEP8/CheckTypedException",
             SecurityDefaults["check_typed_exception"])
         
+        # Imports Checker
+        Preferences.getSettings().setValue(
+            "PEP8/ApplicationModuleNames", [])
+        
         # Update UI with default values
         self.on_loadDefaultButton_clicked()
     

eric ide

mercurial