Update advanced examples

This commit is contained in:
Roman Mogilatov 2015-11-23 19:14:50 +02:00
parent 81f278d3dc
commit ec1c488c44
4 changed files with 39 additions and 33 deletions

View File

@ -1,6 +1,7 @@
"""Config provider examples.""" """Config provider examples."""
import dependency_injector as di from dependency_injector import catalogs
from dependency_injector import providers
class ObjectA(object): class ObjectA(object):
@ -13,17 +14,17 @@ class ObjectA(object):
self.timezone = timezone self.timezone = timezone
class Catalog(di.AbstractCatalog): class Catalog(catalogs.DeclarativeCatalog):
"""Catalog of providers.""" """Catalog of providers."""
config = di.Config() config = providers.Config()
""":type: di.Config""" """:type: providers.Config"""
object_a = di.Factory(ObjectA, object_a = providers.Factory(ObjectA,
fee=config.FEE, fee=config.FEE,
price=config.PRICE, price=config.PRICE,
timezone=config.GLOBAL.TIMEZONE) timezone=config.GLOBAL.TIMEZONE)
""":type: di.Provider -> ObjectA""" """:type: providers.Provider -> ObjectA"""
# Setting config value and making some tests. # Setting config value and making some tests.

View File

@ -1,22 +1,24 @@
"""`@di.inject()` decorator and Flask view example.""" """`inject()` decorator and Flask view example."""
import sqlite3 import sqlite3
import flask import flask
import dependency_injector as di
from dependency_injector import providers
from dependency_injector import injections
database = di.Singleton(sqlite3.connect, database = providers.Singleton(sqlite3.connect,
':memory:', ':memory:',
timeout=30, timeout=30,
detect_types=True, detect_types=True,
isolation_level='EXCLUSIVE') isolation_level='EXCLUSIVE')
app = flask.Flask(__name__) app = flask.Flask(__name__)
@app.route('/') @app.route('/')
@di.inject(database) @injections.inject(database)
@di.inject(flask.request) @injections.inject(flask.request)
def hello(request, database): def hello(request, database):
"""Example Flask view.""" """Example Flask view."""
print request print request

View File

@ -1,22 +1,24 @@
"""`@di.inject()` decorator with classes example.""" """`inject()` decorator with classes example."""
import sqlite3 import sqlite3
import flask import flask
import flask.views import flask.views
import dependency_injector as di
from dependency_injector import providers
from dependency_injector import injections
database = di.Singleton(sqlite3.Connection, database = providers.Singleton(sqlite3.Connection,
database=':memory:', database=':memory:',
timeout=30, timeout=30,
detect_types=True, detect_types=True,
isolation_level='EXCLUSIVE') isolation_level='EXCLUSIVE')
app = flask.Flask(__name__) app = flask.Flask(__name__)
@di.inject(database=database) @injections.inject(database=database)
@di.inject(some_setting=777) @injections.inject(some_setting=777)
class HelloView(flask.views.View): class HelloView(flask.views.View):
"""Example flask class-based view.""" """Example flask class-based view."""

View File

@ -1,14 +1,15 @@
"""`@di.inject()` decorator simple example.""" """`inject()` decorator simple example."""
import dependency_injector as di from dependency_injector import providers
from dependency_injector import injections
dependency_injector_factory = di.Factory(object) dependency_injector_factory = providers.Factory(object)
# Example of using `di.inject()` decorator keyword argument injections: # Example of using `di.inject()` decorator keyword argument injections:
@di.inject(new_object=dependency_injector_factory) @injections.inject(new_object=dependency_injector_factory)
@di.inject(some_setting=1334) @injections.inject(some_setting=1334)
def example_callback1(new_object, some_setting): def example_callback1(new_object, some_setting):
"""Example callback that does some asserts for input args.""" """Example callback that does some asserts for input args."""
assert isinstance(new_object, object) assert isinstance(new_object, object)
@ -16,7 +17,7 @@ def example_callback1(new_object, some_setting):
# Example of using `di.inject()` decorator with positional argument injections: # Example of using `di.inject()` decorator with positional argument injections:
@di.inject(dependency_injector_factory, 1334) @injections.inject(dependency_injector_factory, 1334)
def example_callback2(new_object, some_setting): def example_callback2(new_object, some_setting):
"""Example callback that does some asserts for input args.""" """Example callback that does some asserts for input args."""
assert isinstance(new_object, object) assert isinstance(new_object, object)