(self, partname, fqname, parent)
| 300 | return modules.keys() |
| 301 | |
| 302 | def import_module(self, partname, fqname, parent): |
| 303 | self.msgin(3, "import_module", partname, fqname, parent) |
| 304 | try: |
| 305 | m = self.modules[fqname] |
| 306 | except KeyError: |
| 307 | pass |
| 308 | else: |
| 309 | self.msgout(3, "import_module ->", m) |
| 310 | return m |
| 311 | if fqname in self.badmodules: |
| 312 | self.msgout(3, "import_module -> None") |
| 313 | return None |
| 314 | if parent and parent.__path__ is None: |
| 315 | self.msgout(3, "import_module -> None") |
| 316 | return None |
| 317 | try: |
| 318 | fp, pathname, stuff = self.find_module(partname, |
| 319 | parent and parent.__path__, parent) |
| 320 | except ImportError: |
| 321 | self.msgout(3, "import_module ->", None) |
| 322 | return None |
| 323 | |
| 324 | try: |
| 325 | m = self.load_module(fqname, fp, pathname, stuff) |
| 326 | finally: |
| 327 | if fp: |
| 328 | fp.close() |
| 329 | if parent: |
| 330 | setattr(parent, partname, m) |
| 331 | self.msgout(3, "import_module ->", m) |
| 332 | return m |
| 333 | |
| 334 | def load_module(self, fqname, fp, pathname, file_info): |
| 335 | suffix, mode, type = file_info |
no test coverage detected