From ed9391cc6eb0aa538952ed4564ce0c6fdb6a7b5f Mon Sep 17 00:00:00 2001 From: Roman Mogilatov Date: Wed, 19 Oct 2016 20:20:36 +0300 Subject: [PATCH] Create engines & cars example miniapp --- docs/images/miniapps/engines_cars/diagram.png | Bin 0 -> 13461 bytes docs/introduction/di_in_python.rst | 39 +++++++++--------- docs/main/changelog.rst | 1 + examples/miniapps/engines_cars/README.rst | 9 ++++ .../miniapps/engines_cars/example/__init__.py | 1 + .../miniapps/engines_cars/example/cars.py | 9 ++++ .../miniapps/engines_cars/example/engines.py | 21 ++++++++++ examples/miniapps/engines_cars/example_di.py | 10 +++++ .../engines_cars/example_ioc_containers.py | 36 ++++++++++++++++ 9 files changed, 107 insertions(+), 19 deletions(-) create mode 100644 docs/images/miniapps/engines_cars/diagram.png create mode 100644 examples/miniapps/engines_cars/README.rst create mode 100644 examples/miniapps/engines_cars/example/__init__.py create mode 100644 examples/miniapps/engines_cars/example/cars.py create mode 100644 examples/miniapps/engines_cars/example/engines.py create mode 100644 examples/miniapps/engines_cars/example_di.py create mode 100644 examples/miniapps/engines_cars/example_ioc_containers.py diff --git a/docs/images/miniapps/engines_cars/diagram.png b/docs/images/miniapps/engines_cars/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6320bfddb27ce143fad51ab0d6c36a65e05e31e9 GIT binary patch literal 13461 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