--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat Dec 04 17:41:18 2021 +0100 +++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat Dec 04 18:06:17 2021 +0100 @@ -405,6 +405,35 @@ self.__statistics["_IssuesFixed"] = 0 self.__statistics["_SecurityOK"] = 0 + def __getBanRelativeImportsValue(self): + """ + Private method to get the value corresponding the selected button. + + @return value for the BanRelativeImports argument + @rtype str + """ + if self.banParentsButton.isChecked(): + return "parents" + elif self.banAllButton.isChecked(): + return "true" + else: + return "" + + def __setBanRelativeImports(self, value): + """ + Private method to set the button according to the ban relative imports + setting. + + @param value value of the ban relative imports setting + @type str + """ + if value == "parents": + self.banParentsButton.setChecked(True) + elif value == "true": + self.banAllButton.setChecked(True) + else: + self.allowAllButton.setChecked(True) + def prepare(self, fileList, project): """ Public method to prepare the dialog with a list of filenames. @@ -549,6 +578,8 @@ if "ImportsChecker" not in self.__data: self.__data["ImportsChecker"] = { "ApplicationPackageNames": [], + "BannedModules": [], + "BanRelativeImports": "", } self.__initCategoriesList(self.__data["EnabledCheckerCategories"]) @@ -815,6 +846,9 @@ importsArgs = { "ApplicationPackageNames": sorted(self.appPackagesEdit.toPlainText().split()), + "BannedModules": + sorted(self.bannedModulesEdit.toPlainText().split()), + "BanRelativeImports": self.__getBanRelativeImportsValue(), } self.__options = [excludeMessages, includeMessages, repeatMessages, @@ -1251,7 +1285,10 @@ }, "ImportsChecker": { "ApplicationPackageNames": - sorted(self.appPackagesEdit.toPlainText().split()) + sorted(self.appPackagesEdit.toPlainText().split()), + "BannedModules": + sorted(self.bannedModulesEdit.toPlainText().split()), + "BanRelativeImports": self.__getBanRelativeImportsValue(), }, } if ( @@ -1599,6 +1636,12 @@ self.appPackagesEdit.setPlainText(" ".join( sorted(Preferences.toList(Preferences.getSettings().value( "PEP8/ApplicationPackageNames", []))))) + self.bannedModulesEdit.setPlainText(" ".join( + sorted(Preferences.toList(Preferences.getSettings().value( + "PEP8/BannedModules", []))))) + self.__setBanRelativeImports( + Preferences.getSettings().value( + "PEP8/BanRelativeImports", "")) self.__cleanupData() @@ -1740,6 +1783,12 @@ Preferences.getSettings().setValue( "PEP8/ApplicationPackageNames", sorted(self.appPackagesEdit.toPlainText().split())) + Preferences.getSettings().setValue( + "PEP8/BannedModules", + sorted(self.bannedModulesEdit.toPlainText().split())) + Preferences.getSettings().setValue( + "PEP8/BanRelativeImports", + self.__getBanRelativeImportsValue()) @pyqtSlot() def on_resetDefaultButton_clicked(self): @@ -1868,6 +1917,10 @@ # Imports Checker Preferences.getSettings().setValue( "PEP8/ApplicationPackageNames", []) + Preferences.getSettings().setValue( + "PEP8/BannedModules", []) + Preferences.getSettings().setValue( + "PEP8/BanRelativeImports", "") # Update UI with default values self.on_loadDefaultButton_clicked()