python-dependency-injector/examples/miniapps/bundles/run.py

32 lines
775 B
Python
Raw Normal View History

2017-12-21 23:06:00 +03:00
"""Example application - Bundles."""
2017-12-20 13:25:46 +03:00
from core import containers
from dependency_injector import providers
2017-12-20 13:25:46 +03:00
2017-12-21 23:06:00 +03:00
from bundles.users import Users
from bundles.photos import Photos
2017-12-20 13:25:46 +03:00
class Core(containers.DeclarativeContainer):
"""Core container."""
pgsql = providers.Singleton(object)
s3 = providers.Singleton(object)
if __name__ == '__main__':
# Initializing containers
core = Core()
users = Users(database=core.pgsql)
photos = Photos(database=core.pgsql, file_storage=core.s3)
# Fetching few users
user_repository = users.user_repository()
user1 = user_repository.get(id=1)
user2 = user_repository.get(id=2)
# Making some checks
assert user1.id == 1
assert user2.id == 2
assert user_repository.db is core.pgsql()