103 modules = self.__buildModulesDict() |
103 modules = self.__buildModulesDict() |
104 sortedkeys = sorted(modules.keys()) |
104 sortedkeys = sorted(modules.keys()) |
105 |
105 |
106 # step 1: build a dictionary of packages |
106 # step 1: build a dictionary of packages |
107 for module in sortedkeys: |
107 for module in sortedkeys: |
108 l = module.split('.') |
108 li = module.split('.') |
109 package = '.'.join(l[:-1]) |
109 package = '.'.join(li[:-1]) |
110 if package in packages: |
110 if package in packages: |
111 packages[package][0].append(l[-1]) |
111 packages[package][0].append(li[-1]) |
112 else: |
112 else: |
113 packages[package] = ([l[-1]], []) |
113 packages[package] = ([li[-1]], []) |
114 |
114 |
115 # step 2: assign modules to dictionaries and update import relationship |
115 # step 2: assign modules to dictionaries and update import relationship |
116 for module in sortedkeys: |
116 for module in sortedkeys: |
117 l = module.split('.') |
117 li = module.split('.') |
118 package = '.'.join(l[:-1]) |
118 package = '.'.join(li[:-1]) |
119 impLst = [] |
119 impLst = [] |
120 for i in modules[module].imports: |
120 for i in modules[module].imports: |
121 if i in modules: |
121 if i in modules: |
122 impLst.append(i) |
122 impLst.append(i) |
123 else: |
123 else: |
152 shortPackage = packagePath.replace(ppath, '')\ |
152 shortPackage = packagePath.replace(ppath, '')\ |
153 .replace(os.sep, '.')[1:] |
153 .replace(os.sep, '.')[1:] |
154 packageList = shortPackage.split('.')[1:] |
154 packageList = shortPackage.split('.')[1:] |
155 packageListLen = len(packageList) |
155 packageListLen = len(packageList) |
156 i = '.'.join( |
156 i = '.'.join( |
157 packageList[:packageListLen - dots + 1] + |
157 packageList[:packageListLen - dots + 1] + |
158 [i[dots:]]) |
158 [i[dots:]]) |
159 |
159 |
160 if i in modules: |
160 if i in modules: |
161 impLst.append(i) |
161 impLst.append(i) |
162 else: |
162 else: |