diff -r 634062017057 -r b4dff37325de src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py --- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py Sat Nov 05 17:13:35 2022 +0100 +++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py Sat Nov 05 19:19:05 2022 +0100 @@ -71,7 +71,10 @@ self.nodeType = NodeTypeEnum.IMPORT_FROM names = [n.name for n in astNode.names] - expectedNames = checker.sorted(names, key=checker.moduleKey) + expectedNames = checker.sorted( + names, + key=lambda k: checker.moduleKey(k, subImports=True), + ) if names != expectedNames: self.error = (self.node, "I202", ", ".join(expectedNames)) level = astNode.level @@ -95,14 +98,14 @@ if group == GroupEnum.STDLIB: self.sorter = ( - (group, -self.nodeType, self.moduleName) + (group, -self.nodeType, checker.moduleKey(self.moduleName)) if sortFromFirst - else (group, self.nodeType, self.moduleName) + else (group, self.nodeType, checker.moduleKey(self.moduleName)) ) else: m = self.moduleName dotIndex = m.find(".") - topName = m if dotIndex == -1 else m[:dotIndex] + topName = "." * level + m if dotIndex == -1 else m[:dotIndex] if sortIgnoringStyle: self.sorter = (