src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py

branch
eric7
changeset 9479
b4dff37325de
parent 9478
634062017057
child 9480
107aca8932ac
--- 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 = (

eric ide

mercurial