src/eric7/Graphics/ApplicationDiagramBuilder.py

branch
eric7
changeset 10373
093dcebe5ecb
parent 10069
435cc5875135
child 10439
21c28b0f9e41
equal deleted inserted replaced
10372:1444b4bee64b 10373:093dcebe5ecb
178 self.__shapes = {} 178 self.__shapes = {}
179 179
180 modules = self.__buildModulesDict() 180 modules = self.__buildModulesDict()
181 181
182 # step 1: build a dictionary of packages 182 # step 1: build a dictionary of packages
183 for module in sorted(modules.keys()): 183 for module in sorted(modules):
184 if "." in module: 184 if "." in module:
185 packageName, moduleName = module.rsplit(".", 1) 185 packageName, moduleName = module.rsplit(".", 1)
186 else: 186 else:
187 packageName, moduleName = "", module 187 packageName, moduleName = "", module
188 if packageName in packages: 188 if packageName in packages:
189 packages[packageName][0].append(moduleName) 189 packages[packageName][0].append(moduleName)
190 else: 190 else:
191 packages[packageName] = ([moduleName], []) 191 packages[packageName] = ([moduleName], [])
192 192
193 # step 2: assign modules to dictionaries and update import relationship 193 # step 2: assign modules to dictionaries and update import relationship
194 for module in sorted(modules.keys()): 194 for module in sorted(modules):
195 package = module.rsplit(".", 1)[0] 195 package = module.rsplit(".", 1)[0]
196 impLst = [] 196 impLst = []
197 for moduleImport in modules[module].imports: 197 for moduleImport in modules[module].imports:
198 if moduleImport in modules: 198 if moduleImport in modules:
199 impLst.append(moduleImport) 199 impLst.append(moduleImport)
211 impLst.append(n) 211 impLst.append(n)
212 else: 212 else:
213 n = "{0}.{1}".format(root, moduleImport) 213 n = "{0}.{1}".format(root, moduleImport)
214 if n in modules: 214 if n in modules:
215 impLst.append(n) 215 impLst.append(n)
216 for moduleImport in list(modules[module].from_imports.keys()): 216 for moduleImport in modules[module].from_imports:
217 if moduleImport.startswith("."): 217 if moduleImport.startswith("."):
218 dots = len(moduleImport) - len(moduleImport.lstrip(".")) 218 dots = len(moduleImport) - len(moduleImport.lstrip("."))
219 if dots == 1: 219 if dots == 1:
220 moduleImport = moduleImport[1:] 220 moduleImport = moduleImport[1:]
221 elif dots > 1: 221 elif dots > 1:
261 if impPackage not in packages[package][1] and impPackage != package: 261 if impPackage not in packages[package][1] and impPackage != package:
262 packages[package][1].append(impPackage) 262 packages[package][1].append(impPackage)
263 except KeyError: 263 except KeyError:
264 continue 264 continue
265 265
266 for package in sorted(packages.keys()): 266 for package in sorted(packages):
267 if package: 267 if package:
268 relPackage = package.replace(root, "") 268 relPackage = package.replace(root, "")
269 if relPackage and relPackage[0] == ".": 269 if relPackage and relPackage[0] == ".":
270 relPackage = relPackage[1:] 270 relPackage = relPackage[1:]
271 else: 271 else:

eric ide

mercurial