Make some small fixes for services example

This commit is contained in:
Roman Mogilatov 2016-05-22 16:02:10 +03:00
parent 7729d97a41
commit d8d6ba44e4
6 changed files with 30 additions and 30 deletions

View File

@ -61,7 +61,7 @@ system that consists from several business and platform services:
.. code-block:: python .. code-block:: python
"""Example of several Dependency Injector catalogs.""" """Example of several Dependency Injector IoC containers."""
import sqlite3 import sqlite3
import boto.s3.connection import boto.s3.connection
@ -95,12 +95,12 @@ system that consists from several business and platform services:
db=Platform.database, db=Platform.database,
token_ttl=3600) token_ttl=3600)
Next example demonstrates usage of these IoC containers with the help of Next example demonstrates usage of ``@inject`` decorator with IoC containers
``@inject`` decorator: defined above:
.. code-block:: python .. code-block:: python
"""Dependency Injector example.""" """Dependency Injector @inject decorator example."""
from dependency_injector.injections import inject from dependency_injector.injections import inject
@ -110,17 +110,23 @@ Next example demonstrates usage of these IoC containers with the help of
@inject(users_service=Services.users) @inject(users_service=Services.users)
@inject(auth_service=Services.auth) @inject(auth_service=Services.auth)
@inject(photos_service=Services.photos) @inject(photos_service=Services.photos)
def main(login, password, photo, users_service, auth_service, photos_service): def main(users_service, auth_service, photos_service):
"""Main function.""" """Main function."""
user = users_service.get_user(login) user = users_service.get_user('user')
auth_service.authenticate(user, password) auth_service.authenticate(user, 'secret')
photos_service.upload_photo(user['id'], photo) photos_service.upload_photo(user['id'], 'photo.jpg')
if __name__ == '__main__': if __name__ == '__main__':
main(login='user', password='secret', photo='photo.jpg') main()
Also some alternative definition styles could be used. Like this one: Alternative definition styles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Dependecy Injector* supports few other styles of dependency injections
definition.
Ioc containers could look like this one:
.. code-block:: python .. code-block:: python

View File

@ -1,14 +1,8 @@
Dependency Injector example Dependency Injector IoC containers example
=========================== ==========================================
Instructions for running: Instructions for running
.. code-block:: bash .. code-block:: bash
python main.py python main.py
.. note::
``catalogs_alt_style_1.py`` and ``catalogs_alt_style_2.py`` contain
examples of atlernative catalogs definition styles.

View File

@ -1,4 +1,4 @@
"""Example of several Dependency Injector catalogs.""" """Example of several Dependency Injector IoC containers."""
import sqlite3 import sqlite3
import boto.s3.connection import boto.s3.connection

View File

@ -1,6 +1,6 @@
"""Example of several Dependency Injector catalogs. """Example of several Dependency Injector IoC containers.
Alternative definition style #1. Alternative injections definition style #1.
""" """
import sqlite3 import sqlite3

View File

@ -1,6 +1,6 @@
"""Example of several Dependency Injector catalogs. """Example of several Dependency Injector IoC containers.
Alternative definition style #2. Alternative injections definition style #2.
""" """
import sqlite3 import sqlite3

View File

@ -1,4 +1,4 @@
"""Dependency Injector example.""" """Dependency Injector @inject decorator example."""
from dependency_injector.injections import inject from dependency_injector.injections import inject
@ -8,12 +8,12 @@ from catalogs import Services
@inject(users_service=Services.users) @inject(users_service=Services.users)
@inject(auth_service=Services.auth) @inject(auth_service=Services.auth)
@inject(photos_service=Services.photos) @inject(photos_service=Services.photos)
def main(login, password, photo, users_service, auth_service, photos_service): def main(users_service, auth_service, photos_service):
"""Main function.""" """Main function."""
user = users_service.get_user(login) user = users_service.get_user('user')
auth_service.authenticate(user, password) auth_service.authenticate(user, 'secret')
photos_service.upload_photo(user['id'], photo) photos_service.upload_photo(user['id'], 'photo.jpg')
if __name__ == '__main__': if __name__ == '__main__':
main(login='user', password='secret', photo='photo.jpg') main()