--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat May 20 19:50:13 2023 +0200 +++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sun May 21 15:26:11 2023 +0200 @@ -88,6 +88,7 @@ "I": QCoreApplication.translate("CheckerCategories", "Imports"), "M": QCoreApplication.translate("CheckerCategories", "Miscellaneous"), "N": QCoreApplication.translate("CheckerCategories", "Naming"), + "NO": QCoreApplication.translate("CheckerCategories", "Name Order"), "P": QCoreApplication.translate("CheckerCategories", "'pathlib' Usage"), "S": QCoreApplication.translate("CheckerCategories", "Security"), "W": QCoreApplication.translate("CheckerCategories", "Warnings"), @@ -492,6 +493,10 @@ "ApplicationPackageNames": [], "BannedModules": [], "BanRelativeImports": "", + }, + # Name Order + "NameOrderChecker": { + "ApplicationPackageNames": [], "SortOrder": "natural", "SortCaseSensitive": False, "CombinedAsImports": False, @@ -579,29 +584,9 @@ ) if "CheckFutureAnnotations" not in self.__data["AnnotationsChecker"]: # third extension - self.__data["AnnotationsChecker"]["CheckFutureAnnotations"] = ( - defaultParameters["AnnotationsChecker"]["CheckFutureAnnotations"] - ) - - # Upgrading ImportsChecker from older data structures - if "CombinedAsImports" not in self.__data["ImportsChecker"]: - self.__data["ImportsChecker"].update( - { - "SortOrder": defaultParameters["ImportsChecker"]["SortOrder"], - "SortCaseSensitive": defaultParameters["ImportsChecker"][ - "SortCaseSensitive" - ], - "CombinedAsImports": defaultParameters["ImportsChecker"][ - "CombinedAsImports" - ], - "SortIgnoringStyle": defaultParameters["ImportsChecker"][ - "SortIgnoringStyle" - ], - "SortFromFirst": defaultParameters["ImportsChecker"][ - "SortFromFirst" - ], - } - ) + self.__data["AnnotationsChecker"][ + "CheckFutureAnnotations" + ] = defaultParameters["AnnotationsChecker"]["CheckFutureAnnotations"] self.__initCategoriesList(self.__data["EnabledCheckerCategories"]) self.excludeFilesEdit.setText(self.__data["ExcludeFiles"]) @@ -718,20 +703,24 @@ self.__setBanRelativeImports( self.__data["ImportsChecker"]["BanRelativeImports"] ) + + # NameOrderChecker self.sortOrderComboBox.setCurrentIndex( - self.sortOrderComboBox.findData(self.__data["ImportsChecker"]["SortOrder"]) + self.sortOrderComboBox.findData( + self.__data["NameOrderChecker"]["SortOrder"] + ) ) self.sortCaseSensitiveCheckBox.setChecked( - self.__data["ImportsChecker"]["SortCaseSensitive"] + self.__data["NameOrderChecker"]["SortCaseSensitive"] ) self.combinedAsImpotsCheckBox.setChecked( - self.__data["ImportsChecker"]["CombinedAsImports"] + self.__data["NameOrderChecker"]["CombinedAsImports"] ) self.sortIgnoreStyleCheckBox.setChecked( - self.__data["ImportsChecker"]["SortIgnoringStyle"] + self.__data["NameOrderChecker"]["SortIgnoringStyle"] ) self.sortFromFirstCheckBox.setChecked( - self.__data["ImportsChecker"]["SortFromFirst"] + self.__data["NameOrderChecker"]["SortFromFirst"] ) self.__cleanupData() @@ -913,6 +902,12 @@ ), "BannedModules": sorted(self.bannedModulesEdit.toPlainText().split()), "BanRelativeImports": self.__getBanRelativeImportsValue(), + } + + nameOrderArgs = { + "ApplicationPackageNames": sorted( + self.appPackagesEdit.toPlainText().split() + ), "SortOrder": self.sortOrderComboBox.currentData(), "SortCaseSensitive": self.sortCaseSensitiveCheckBox.isChecked(), "CombinedAsImports": self.combinedAsImpotsCheckBox.isChecked(), @@ -937,6 +932,7 @@ annotationArgs, securityArgs, importsArgs, + nameOrderArgs, ] # now go through all the files @@ -1358,6 +1354,11 @@ self.bannedModulesEdit.toPlainText().split() ), "BanRelativeImports": self.__getBanRelativeImportsValue(), + }, + "NameOrderChecker": { + "ApplicationPackageNames": sorted( + self.appPackagesEdit.toPlainText().split() + ), "SortOrder": self.sortOrderComboBox.currentData(), "SortCaseSensitive": self.sortCaseSensitiveCheckBox.isChecked(), "CombinedAsImports": self.combinedAsImpotsCheckBox.isChecked(), @@ -1901,10 +1902,12 @@ defaultParameters["ImportsChecker"]["BanRelativeImports"], ) ) + + # Name Order Checker self.sortOrderComboBox.setCurrentIndex( self.sortOrderComboBox.findData( settings.value( - "PEP8/SortOrder", defaultParameters["ImportsChecker"]["SortOrder"] + "PEP8/SortOrder", defaultParameters["NameOrderChecker"]["SortOrder"] ) ) ) @@ -1912,7 +1915,7 @@ Preferences.toBool( settings.value( "PEP8/SortCaseSensitive", - defaultParameters["ImportsChecker"]["SortCaseSensitive"], + defaultParameters["NameOrderChecker"]["SortCaseSensitive"], ) ) ) @@ -1920,7 +1923,7 @@ Preferences.toBool( settings.value( "PEP8/CombinedAsImports", - defaultParameters["ImportsChecker"]["CombinedAsImports"], + defaultParameters["NameOrderChecker"]["CombinedAsImports"], ) ) ) @@ -1928,7 +1931,7 @@ Preferences.toBool( settings.value( "PEP8/SortIgnoringStyle", - defaultParameters["ImportsChecker"]["SortIgnoringStyle"], + defaultParameters["NameOrderChecker"]["SortIgnoringStyle"], ) ) ) @@ -1936,7 +1939,7 @@ Preferences.toBool( settings.value( "PEP8/SortFromFirst", - defaultParameters["ImportsChecker"]["SortFromFirst"], + defaultParameters["NameOrderChecker"]["SortFromFirst"], ) ) ) @@ -2259,25 +2262,27 @@ "PEP8/BanRelativeImports", defaultParameters["ImportsChecker"]["BanRelativeImports"], ) + + # Name Order Checker settings.setValue( "PEP8/SortOrder", - defaultParameters["ImportsChecker"]["SortOrder"], + defaultParameters["NameOrderChecker"]["SortOrder"], ) settings.setValue( "PEP8/SortCaseSensitive", - defaultParameters["ImportsChecker"]["SortCaseSensitive"], + defaultParameters["NameOrderChecker"]["SortCaseSensitive"], ) settings.setValue( "PEP8/CombinedAsImports", - defaultParameters["ImportsChecker"]["CombinedAsImports"], + defaultParameters["NameOrderChecker"]["CombinedAsImports"], ) settings.setValue( "PEP8/SortIgnoringStyle", - defaultParameters["ImportsChecker"]["SortIgnoringStyle"], + defaultParameters["NameOrderChecker"]["SortIgnoringStyle"], ) settings.setValue( "PEP8/SortFromFirst", - defaultParameters["ImportsChecker"]["SortFromFirst"], + defaultParameters["NameOrderChecker"]["SortFromFirst"], ) # Update UI with default values