Import a module from its fully-qualified name. If *strict* is false, import failures are suppressed and None is returned.
(module_name, *, strict=False)
| 28 | |
| 29 | |
| 30 | def _import_module(module_name, *, strict=False): |
| 31 | """Import a module from its fully-qualified name. |
| 32 | |
| 33 | If *strict* is false, import failures are suppressed and None is returned. |
| 34 | """ |
| 35 | if module_name is None: |
| 36 | # To prevent a TypeError in importlib.import_module |
| 37 | if strict: |
| 38 | raise ImportError("no module to import") |
| 39 | return None |
| 40 | try: |
| 41 | return importlib.import_module(module_name) |
| 42 | except ImportError as exc: |
| 43 | if strict: |
| 44 | raise exc |
| 45 | return None |
| 46 | |
| 47 | |
| 48 | def _import_member(module_name, member_name, *, strict=False): |
no test coverage detected
searching dependent graphs…