mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-10 16:12:26 +03:00
Remove bundles_v2 example
This commit is contained in:
parent
926f716ce6
commit
ec1fd7414c
|
@ -1,8 +0,0 @@
|
|||
Dependency Injector Bundles example
|
||||
===================================
|
||||
|
||||
Instructions for running
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python run.py
|
|
@ -1 +0,0 @@
|
|||
"""Bundles package."""
|
|
@ -1,19 +0,0 @@
|
|||
"""Photos bundle."""
|
||||
|
||||
from dependency_injector import containers
|
||||
from dependency_injector import providers
|
||||
|
||||
from . import entities
|
||||
from . import repositories
|
||||
|
||||
|
||||
class Photos(containers.DeclarativeContainer):
|
||||
"""Photos bundle container."""
|
||||
|
||||
core = providers.DependenciesContainer()
|
||||
|
||||
photo = providers.Factory(entities.Photo)
|
||||
photo_repository = providers.Singleton(repositories.PhotoRepository,
|
||||
object_factory=photo.provider,
|
||||
fs=core.file_storage,
|
||||
db=core.database)
|
|
@ -1,5 +0,0 @@
|
|||
"""Photos bundle entities module."""
|
||||
|
||||
|
||||
class Photo(object):
|
||||
"""Photo entity."""
|
|
@ -1,11 +0,0 @@
|
|||
"""Photos bundle entity repositories module."""
|
||||
|
||||
|
||||
class PhotoRepository(object):
|
||||
"""Photo entity repository."""
|
||||
|
||||
def __init__(self, object_factory, fs, db):
|
||||
"""Initializer."""
|
||||
self.object_factory = object_factory
|
||||
self.fs = fs
|
||||
self.db = db
|
|
@ -1,18 +0,0 @@
|
|||
"""Users bundle."""
|
||||
|
||||
from dependency_injector import containers
|
||||
from dependency_injector import providers
|
||||
|
||||
from . import entities
|
||||
from . import repositories
|
||||
|
||||
|
||||
class Users(containers.DeclarativeContainer):
|
||||
"""Users bundle container."""
|
||||
|
||||
core = providers.DependenciesContainer()
|
||||
|
||||
user = providers.Factory(entities.User)
|
||||
user_repository = providers.Singleton(repositories.UserRepository,
|
||||
object_factory=user.provider,
|
||||
db=core.database)
|
|
@ -1,9 +0,0 @@
|
|||
"""Users bundle entities module."""
|
||||
|
||||
|
||||
class User(object):
|
||||
"""User entity."""
|
||||
|
||||
def __init__(self, id):
|
||||
"""Initializer."""
|
||||
self.id = id
|
|
@ -1,14 +0,0 @@
|
|||
"""Users bundle entity repositories module."""
|
||||
|
||||
|
||||
class UserRepository(object):
|
||||
"""User entity repository."""
|
||||
|
||||
def __init__(self, object_factory, db):
|
||||
"""Initializer."""
|
||||
self.object_factory = object_factory
|
||||
self.db = db
|
||||
|
||||
def get(self, id):
|
||||
"""Return user entity with given identifier."""
|
||||
return self.object_factory(id=id)
|
|
@ -1,41 +0,0 @@
|
|||
"""Run 'Bundles' example application."""
|
||||
|
||||
import sqlite3
|
||||
import boto3
|
||||
|
||||
from dependency_injector import containers
|
||||
from dependency_injector import providers
|
||||
|
||||
from bundles.users import Users
|
||||
from bundles.photos import Photos
|
||||
|
||||
|
||||
class Core(containers.DeclarativeContainer):
|
||||
"""Core container."""
|
||||
|
||||
config = providers.Configuration('config')
|
||||
database = providers.Singleton(sqlite3.connect, config.database.dsn)
|
||||
file_storage = providers.Singleton(
|
||||
boto3.client, 's3',
|
||||
aws_access_key_id=config.aws.access_key_id,
|
||||
aws_secret_access_key=config.aws.secret_access_key)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Initializing containers
|
||||
core = Core()
|
||||
core.config.update({'database': {'dsn': ':memory:'},
|
||||
'aws': {'access_key_id': 'KEY',
|
||||
'secret_access_key': 'SECRET'}})
|
||||
users = Users(core=core)
|
||||
photos = Photos(core=core)
|
||||
|
||||
# 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.database()
|
Loading…
Reference in New Issue
Block a user