mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-02 03:13:15 +03:00
Updating wiring module
This commit is contained in:
parent
67d16bf48b
commit
d0ea82949f
|
@ -15,6 +15,7 @@ from typing import (
|
|||
Callable,
|
||||
Any,
|
||||
Tuple,
|
||||
List,
|
||||
Dict,
|
||||
Generic,
|
||||
TypeVar,
|
||||
|
@ -321,14 +322,18 @@ class InspectFilter:
|
|||
def wire( # noqa: C901
|
||||
container: Container,
|
||||
*,
|
||||
modules: Optional[Iterable[ModuleType]] = None,
|
||||
packages: Optional[Iterable[ModuleType]] = None,
|
||||
modules: Optional[Iterable[Union[ModuleType, str]]] = None,
|
||||
packages: Optional[Iterable[Union[ModuleType, str]]] = None,
|
||||
from_package: Optional[str] = None,
|
||||
) -> None:
|
||||
"""Wire container providers with provided packages and modules."""
|
||||
if not modules:
|
||||
modules = []
|
||||
modules = _resolve_string_imports(modules, from_package)
|
||||
|
||||
if packages:
|
||||
if not packages:
|
||||
packages = []
|
||||
packages = _resolve_string_imports(packages, from_package)
|
||||
for package in packages:
|
||||
modules.extend(_fetch_modules(package))
|
||||
|
||||
|
@ -672,6 +677,16 @@ def _is_declarative_container(instance: Any) -> bool:
|
|||
and getattr(instance, 'declarative_parent', None) is None)
|
||||
|
||||
|
||||
def _resolve_string_imports(
|
||||
modules: Optional[Iterable[Union[ModuleType, str]]],
|
||||
from_package: Optional[str],
|
||||
) -> List[ModuleType]:
|
||||
return [
|
||||
importlib.import_module(module, from_package) if isinstance(module, str) else module
|
||||
for module in modules
|
||||
]
|
||||
|
||||
|
||||
class Modifier:
|
||||
|
||||
def modify(
|
||||
|
|
Loading…
Reference in New Issue
Block a user