diff -r 1444b4bee64b -r 093dcebe5ecb src/eric7/Graphics/PackageDiagramBuilder.py --- a/src/eric7/Graphics/PackageDiagramBuilder.py Sun Dec 03 16:44:52 2023 +0100 +++ b/src/eric7/Graphics/PackageDiagramBuilder.py Sun Dec 03 19:46:34 2023 +0100 @@ -255,9 +255,9 @@ # step 1: build all classes found in the modules classesFound = False - for modName in list(modules.keys()): + for modName in modules: module = modules[modName] - for cls in list(module.classes.keys()): + for cls in module.classes: classesFound = True self.__addLocalClass(cls, module.classes[cls], 0, 0) if not classesFound and not subpackages: @@ -277,7 +277,7 @@ routes = [] nodes = [] - for modName in list(modules.keys()): + for modName in modules: module = modules[modName] todo = [module.createHierarchy()] while todo: @@ -313,15 +313,14 @@ if hierarchy.get(className): todo.append(hierarchy.get(className)) - children = list(hierarchy.get(className).keys()) - for child in children: + for child in hierarchy.get(className, []): if (className, child) not in routes: routes.append((className, child)) del todo[0] # step 3: build the subpackages - for subpackage in sorted(subpackages.keys()): + for subpackage in sorted(subpackages): self.__addPackage(subpackage, subpackages[subpackage], 0, 0) nodes.append(subpackage) @@ -427,9 +426,9 @@ name = "{0} (Module)".format(name) cl = ClassModel( name, - sorted(_class.methods.keys())[:], - sorted(_class.attributes.keys())[:], - sorted(_class.globals.keys())[:], + sorted(_class.methods), + sorted(_class.attributes), + sorted(_class.globals), ) cw = ClassItem( cl,