Update single and multiple containers example

This commit is contained in:
Roman Mogylatov 2021-09-29 17:06:53 -04:00
parent 1aa2be4491
commit 35864f476f
5 changed files with 8 additions and 8 deletions

View File

@ -3,7 +3,7 @@
from .containers import Application
if __name__ == '__main__':
if __name__ == "__main__":
application = Application()
config = application.service.config()
config.build()

View File

@ -6,17 +6,17 @@ from .services import ConfigService
class Core(containers.DeclarativeContainer):
config = providers.Configuration('config')
config = providers.Configuration("config")
class Storage(containers.DeclarativeContainer):
queue = providers.Singleton(lambda: 'Some storage')
queue = providers.Singleton(lambda: "Some storage")
class Adapter(containers.DeclarativeContainer):
core = providers.DependenciesContainer(config=providers.Configuration())
tinydb = providers.Singleton(
lambda db_path: f'DB Path=[{db_path}]',
lambda db_path: f"DB Path=[{db_path}]",
db_path=core.config.default.db_path,
)
@ -25,7 +25,7 @@ class Repository(containers.DeclarativeContainer):
adapter = providers.DependenciesContainer()
storage = providers.DependenciesContainer()
site = providers.Singleton(
lambda adapter, queue: f'Adapter=[{adapter}], queue=[{queue}]',
lambda adapter, queue: f"Adapter=[{adapter}], queue=[{queue}]",
adapter=adapter.tinydb,
queue=storage.queue,
)

View File

@ -6,4 +6,4 @@ class ConfigService:
self._config = config
def build(self):
self._config.from_dict({'default': {'db_path': '~/test'}})
self._config.from_dict({"default": {"db_path": "~/test"}})

View File

@ -2,7 +2,7 @@
import sys
from dependency_injector.wiring import inject, Provide
from dependency_injector.wiring import Provide, inject
from .services import UserService, AuthService, PhotoService
from .containers import Application

View File

@ -2,7 +2,7 @@
import sys
from dependency_injector.wiring import inject, Provide
from dependency_injector.wiring import Provide, inject
from .services import UserService, AuthService, PhotoService
from .containers import Container