diff --git a/.github/workflows/publishing.yml b/.github/workflows/publishing.yml
index 7dd72536..24d39b46 100644
--- a/.github/workflows/publishing.yml
+++ b/.github/workflows/publishing.yml
@@ -9,20 +9,20 @@ jobs:
tests:
name: Run tests
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: pip install tox
- run: tox
env:
- TOXENV: 3.9
+ TOXENV: "3.10"
linters:
name: Run linters
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
strategy:
matrix:
toxenv: [flake8, pydocstyle, mypy, pylint]
@@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: pip install tox
- run: tox
env:
@@ -39,12 +39,12 @@ jobs:
build-sdist:
name: Build source tarball
needs: [tests, linters]
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: python setup.py sdist
- uses: actions/upload-artifact@v2
with:
@@ -56,15 +56,15 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-18.04, windows-latest, macos-latest]
+ os: [ubuntu-20.04, windows-2019, macOS-10.15]
env:
CIBW_SKIP: cp27-win*
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
- - run: pip install cibuildwheel==1.8.0
+ python-version: "3.10"
+ - run: pip install cibuildwheel==2.1.3
- run: cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v2
with:
@@ -73,15 +73,15 @@ jobs:
build-wheels-linux-aarch64:
name: Build wheels (ubuntu-latest-aarch64)
needs: [tests, linters]
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- uses: actions/setup-python@v2
with:
- python-version: 3.9
- - run: pip install cibuildwheel==1.8.0
+ python-version: "3.10"
+ - run: pip install cibuildwheel==2.1.3
- run: cibuildwheel --archs aarch64 --output-dir wheelhouse
- uses: actions/upload-artifact@v2
with:
@@ -90,7 +90,7 @@ jobs:
publish:
name: Publish on PyPI
needs: [build-sdist, build-wheels, build-wheels-linux-aarch64]
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
steps:
- uses: actions/download-artifact@v2
with:
@@ -100,6 +100,9 @@ jobs:
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
+ # For publishing to Test PyPI, uncomment next two lines:
+ # password: ${{ secrets.TEST_PYPI_API_TOKEN }}
+ # repository_url: https://test.pypi.org/legacy/
publish-docs:
name: Publish docs
@@ -109,7 +112,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: pip install -r requirements-doc.txt
- run: pip install awscli
- run: pip install -e .
diff --git a/.github/workflows/tests-and-linters.yml b/.github/workflows/tests-and-linters.yml
index 6d97492d..213fb543 100644
--- a/.github/workflows/tests-and-linters.yml
+++ b/.github/workflows/tests-and-linters.yml
@@ -6,10 +6,10 @@ jobs:
test-on-different-versions:
name: Run tests
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-latest
strategy:
matrix:
- python-version: [2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy2, pypy3]
+ python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", pypy2, pypy3]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
@@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: pip install tox cython
- run: make cythonize
- run: tox
@@ -48,7 +48,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
- python-version: 3.9
+ python-version: "3.10"
- run: pip install tox
- run: tox
env:
diff --git a/.gitignore b/.gitignore
index e2195edf..61ff0da5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@ reports/
.cache
nosetests.xml
coverage.xml
+.hypothesis/
# Translations
*.mo
@@ -54,7 +55,7 @@ target/
.idea/
# Virtualenv
-venv/
+venv*/
# SQLite
*.db
diff --git a/Makefile b/Makefile
index a7ef1e43..0c4bca04 100644
--- a/Makefile
+++ b/Makefile
@@ -45,17 +45,10 @@ install: uninstall clean cythonize
uninstall:
- pip uninstall -y -q dependency-injector 2> /dev/null
-test-py2: build
+test:
# Unit tests with coverage report
coverage erase
- coverage run --rcfile=./.coveragerc -m unittest discover -s tests/unit/ -p test_*_py2_py3.py
- coverage report --rcfile=./.coveragerc
- coverage html --rcfile=./.coveragerc
-
-test: build
- # Unit tests with coverage report
- coverage erase
- coverage run --rcfile=./.coveragerc -m unittest discover -s tests/unit/ -p test_*py3*.py
+ coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
coverage report --rcfile=./.coveragerc
coverage html --rcfile=./.coveragerc
diff --git a/README.rst b/README.rst
index f6f27bbc..5dd11a1a 100644
--- a/README.rst
+++ b/README.rst
@@ -80,7 +80,7 @@ Key features of the ``Dependency Injector``:
.. code-block:: python
from dependency_injector import containers, providers
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
class Container(containers.DeclarativeContainer):
@@ -104,11 +104,11 @@ Key features of the ``Dependency Injector``:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.api_key.from_env('API_KEY')
- container.config.timeout.from_env('TIMEOUT')
- container.wire(modules=[sys.modules[__name__]])
+ container.config.api_key.from_env("API_KEY")
+ container.config.timeout.from_env("TIMEOUT")
+ container.wire(modules=[__name__])
main() # <-- dependency is injected automatically
@@ -195,7 +195,7 @@ What is the dependency injection?
- dependency injection is a principle that decreases coupling and increases cohesion
Why should I do the dependency injection?
- - your code becomes more flexible, testable and clear π
+ - your code becomes more flexible, testable, and clear π
How do I start doing the dependency injection?
- you start writing the code following the dependency injection principle
@@ -204,7 +204,7 @@ How do I start doing the dependency injection?
What price do I pay and what do I get?
- you need to explicitly specify the dependencies
- - it will be extra work in the beginning
+ - it will be an extra work in the beginning
- it will payoff as the project grows
Have a question?
diff --git a/docs/conf.py b/docs/conf.py
index 58af81e8..fe6d6e19 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,49 +20,49 @@ import alabaster
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('..'))
+sys.path.insert(0, os.path.abspath(".."))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
+#needs_sphinx = "1.0"
# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# extensions coming with Sphinx (named "sphinx.ext.*") or your custom
# ones.
extensions = [
- 'alabaster',
- 'sphinx.ext.autodoc',
- 'sphinxcontrib.disqus',
+ "alabaster",
+ "sphinx.ext.autodoc",
+ "sphinxcontrib.disqus",
]
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
+# source_suffix = [".rst", ".md"]
+source_suffix = ".rst"
# The encoding of source files.
-#source_encoding = 'utf-8-sig'
+#source_encoding = "utf-8-sig"
# The master toctree document.
-master_doc = 'index'
+master_doc = "index"
# General information about the project.
-project = u'Dependency Injector'
-copyright = u'2021, Roman Mogylatov'
-author = u'Roman Mogylatov'
+project = "Dependency Injector"
+copyright = "2021, Roman Mogylatov"
+author = "Roman Mogylatov"
-# The version info for the project you're documenting, acts as replacement for
+# The version info for the project you"re documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
# Getting version:
-with open('../src/dependency_injector/__init__.py') as init_file:
- version = re.search('__version__ = \'(.*?)\'', init_file.read()).group(1)
+with open("../src/dependency_injector/__init__.py") as init_file:
+ version = re.search("__version__ = \"(.*?)\"", init_file.read()).group(1)
# The full version, including alpha/beta/rc tags.
release = version
@@ -76,19 +76,19 @@ language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
-#today = ''
+#today = ""
# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+#today_fmt = "%B %d, %Y"
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
+exclude_patterns = ["_build"]
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
-# If true, '()' will be appended to :func: etc. cross-reference text.
+# If true, "()" will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
@@ -100,7 +100,7 @@ exclude_patterns = ['_build']
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
@@ -116,8 +116,8 @@ todo_include_todos = False
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-# html_theme = 'sphinx_rtd_theme'
-html_theme = 'alabaster'
+# html_theme = "sphinx_rtd_theme"
+html_theme = "alabaster"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
@@ -141,21 +141,21 @@ html_theme_path = [alabaster.get_path()]
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
-html_favicon = 'favicon.ico'
+html_favicon = "favicon.ico"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ["_static"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# If not "", a "Last updated on:" timestamp is inserted at every page bottom,
# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
+#html_last_updated_fmt = "%b %d, %Y"
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
@@ -189,50 +189,50 @@ html_static_path = ['_static']
# If true, an OpenSearch description file will be output, and all pages will
# contain a tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
+#html_use_opensearch = ""
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
-# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
-# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
-#html_search_language = 'en'
+# "da", "de", "en", "es", "fi", "fr", "hu", "it", "ja"
+# "nl", "no", "pt", "ro", "ru", "sv", "tr"
+#html_search_language = "en"
# A dictionary with options for the search language support, empty by default.
-# Now only 'ja' uses this config value
-#html_search_options = {'type': 'default'}
+# Now only "ja" uses this config value
+#html_search_options = {"type": "default"}
# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
-#html_search_scorer = 'scorer.js'
+#html_search_scorer = "scorer.js"
# Output file base name for HTML help builder.
-htmlhelp_basename = 'dependency_injectordoc'
+htmlhelp_basename = "dependency_injectordoc"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
+# The paper size ("letterpaper" or "a4paper").
+#"papersize": "letterpaper",
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
+# The font size ("10pt", "11pt" or "12pt").
+#"pointsize": "10pt",
# Additional stuff for the LaTeX preamble.
-#'preamble': '',
+#"preamble": "",
# Latex figure (float) alignment
-#'figure_align': 'htbp',
+#"figure_align": "htbp",
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- (master_doc, 'dependency_injector.tex', u'Dependency Injector Documentation',
- u'Roman Mogylatov', 'manual'),
+ (master_doc, "dependency_injector.tex", u"Dependency Injector Documentation",
+ u"Roman Mogylatov", "manual"),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -261,7 +261,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
- (master_doc, 'Dependency Injector', u'Dependency Injector Documentation',
+ (master_doc, "Dependency Injector", u"Dependency Injector Documentation",
[author], 1)
]
@@ -275,9 +275,9 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- (master_doc, 'Dependency Injector', u'Dependency Injector Documentation',
- author, 'Dependency Injector', 'Dependency injection microframework for Python',
- 'Miscellaneous'),
+ (master_doc, "Dependency Injector", u"Dependency Injector Documentation",
+ author, "Dependency Injector", "Dependency injection microframework for Python",
+ "Miscellaneous"),
]
# Documents to append as an appendix to all manuals.
@@ -286,24 +286,24 @@ texinfo_documents = [
# If false, no module index is generated.
#texinfo_domain_indices = True
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
+# How to display URL addresses: "footnote", "no", or "inline".
+#texinfo_show_urls = "footnote"
-# If true, do not generate a @detailmenu in the "Top" node's menu.
+# If true, do not generate a @detailmenu in the "Top" node"s menu.
#texinfo_no_detailmenu = False
-autodoc_member_order = 'bysource'
+autodoc_member_order = "bysource"
-disqus_shortname = 'python-dependency-injector'
+disqus_shortname = "python-dependency-injector"
html_theme_options = {
- 'github_user': 'ets-labs',
- 'github_repo': 'python-dependency-injector',
- 'github_type': 'star',
- 'github_button': True,
- 'github_banner': True,
- 'logo': 'logo.svg',
- 'description': 'Dependency injection framework for Python by Roman Mogylatov',
- 'code_font_size': '10pt',
- 'analytics_id': 'UA-67012059-1',
+ "github_user": "ets-labs",
+ "github_repo": "python-dependency-injector",
+ "github_type": "star",
+ "github_button": True,
+ "github_banner": True,
+ "logo": "logo.svg",
+ "description": "Dependency injection framework for Python by Roman Mogylatov",
+ "code_font_size": "10pt",
+ "analytics_id": "UA-67012059-1",
}
diff --git a/docs/containers/declarative.rst b/docs/containers/declarative.rst
index 5f362b31..febc0bf9 100644
--- a/docs/containers/declarative.rst
+++ b/docs/containers/declarative.rst
@@ -34,10 +34,39 @@ Injections in the declarative container are done the usual way:
:language: python
:lines: 3-
-You can override the container providers when you create the container instance:
+You can override container providers while creating a container instance:
.. literalinclude:: ../../examples/containers/declarative_override_providers.py
:language: python
:lines: 3-
+ :emphasize-lines: 13
+
+Alternatively, you can call ``container.override_providers()`` method when the container instance
+already exists:
+
+.. code-block:: python
+ :emphasize-lines: 3
+
+ container = Container()
+
+ container.override_providers(foo=mock.Mock(Foo), bar=mock.Mock(Bar))
+
+ assert isinstance(container.foo(), mock.Mock)
+ assert isinstance(container.bar(), mock.Mock)
+
+You can also use ``container.override_providers()`` with a context manager to reset
+provided overriding after the context is closed:
+
+.. code-block:: python
+ :emphasize-lines: 3
+
+ container = Container()
+
+ with container.override_providers(foo=mock.Mock(Foo), bar=mock.Mock(Bar)):
+ assert isinstance(container.foo(), mock.Mock)
+ assert isinstance(container.bar(), mock.Mock)
+
+ assert isinstance(container.foo(), Foo)
+ assert isinstance(container.bar(), Bar)
.. disqus::
diff --git a/docs/examples-other/chained-factories.rst b/docs/examples-other/chained-factories.rst
index 0bec024e..4106e6e1 100644
--- a/docs/examples-other/chained-factories.rst
+++ b/docs/examples-other/chained-factories.rst
@@ -19,7 +19,7 @@ additional arguments.
)
- if __name__ == '__main__':
+ if __name__ == "__main__":
instance = concrete_factory()
# Same as: # instance = SomeClass(base_argument=1, extra_argument=2)
@@ -43,21 +43,21 @@ Passing of the arguments works the same way like for any other :ref:`factory-pro
providers.Factory(dict, arg1=1),
arg2=2,
)
- print(chained_dict_factory()) # prints: {'arg1': 1, 'arg2': 2}
+ print(chained_dict_factory()) # prints: {"arg1": 1, "arg2": 2}
# 2. Keyword arguments of upper level factory have priority
chained_dict_factory = providers.Factory(
providers.Factory(dict, arg1=1),
arg1=2,
)
- print(chained_dict_factory()) # prints: {'arg1': 2}
+ print(chained_dict_factory()) # prints: {"arg1": 2}
# 3. Keyword arguments provided from context have the most priority
chained_dict_factory = providers.Factory(
providers.Factory(dict, arg1=1),
arg1=2,
)
- print(chained_dict_factory(arg1=3)) # prints: {'arg1': 3}
+ print(chained_dict_factory(arg1=3)) # prints: {"arg1": 3}
Credits
diff --git a/docs/examples-other/factory-of-factories.rst b/docs/examples-other/factory-of-factories.rst
index 6cc71aa3..bb45faba 100644
--- a/docs/examples-other/factory-of-factories.rst
+++ b/docs/examples-other/factory-of-factories.rst
@@ -20,7 +20,7 @@ additional arguments.
)
- if __name__ == '__main__':
+ if __name__ == "__main__":
instance = concrete_factory()
# Same as: # instance = SomeClass(base_argument=1, extra_argument=2)
@@ -46,7 +46,7 @@ Passing of the arguments works the same way like for any other :ref:`factory-pro
arg1=1,
)
dict_factory = factory_of_dict_factories(arg2=2)
- print(dict_factory()) # prints: {'arg1': 1, 'arg2': 2}
+ print(dict_factory()) # prints: {"arg1": 1, "arg2": 2}
# 2. Keyword arguments of upper level factory have priority
factory_of_dict_factories = providers.Factory(
@@ -55,7 +55,7 @@ Passing of the arguments works the same way like for any other :ref:`factory-pro
arg1=1,
)
dict_factory = factory_of_dict_factories(arg1=2)
- print(dict_factory()) # prints: {'arg1': 2}
+ print(dict_factory()) # prints: {"arg1": 2}
# 3. Keyword arguments provided from context have the most priority
factory_of_dict_factories = providers.Factory(
@@ -64,7 +64,7 @@ Passing of the arguments works the same way like for any other :ref:`factory-pro
arg1=1,
)
dict_factory = factory_of_dict_factories(arg1=2)
- print(dict_factory(arg1=3)) # prints: {'arg1': 3}
+ print(dict_factory(arg1=3)) # prints: {"arg1": 3}
Credits
-------
diff --git a/docs/examples/sanic.rst b/docs/examples/sanic.rst
index 1727128f..3688e80f 100644
--- a/docs/examples/sanic.rst
+++ b/docs/examples/sanic.rst
@@ -70,7 +70,7 @@ Tests use :ref:`provider-overriding` feature to replace giphy client with a mock
.. literalinclude:: ../../examples/miniapps/sanic/giphynavigator/tests.py
:language: python
- :emphasize-lines: 27,54,68
+ :emphasize-lines: 34,61,75
Sources
-------
diff --git a/docs/index.rst b/docs/index.rst
index 3cc5c295..afbee51e 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -86,7 +86,7 @@ Key features of the ``Dependency Injector``:
.. code-block:: python
from dependency_injector import containers, providers
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
class Container(containers.DeclarativeContainer):
@@ -110,11 +110,11 @@ Key features of the ``Dependency Injector``:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.api_key.from_env('API_KEY')
- container.config.timeout.from_env('TIMEOUT')
- container.wire(modules=[sys.modules[__name__]])
+ container.config.api_key.from_env("API_KEY")
+ container.config.timeout.from_env("TIMEOUT")
+ container.wire(modules=[__name__])
main() # <-- dependency is injected automatically
diff --git a/docs/introduction/di_in_python.rst b/docs/introduction/di_in_python.rst
index 80ede500..7c1a3cfd 100644
--- a/docs/introduction/di_in_python.rst
+++ b/docs/introduction/di_in_python.rst
@@ -67,8 +67,8 @@ Before:
class ApiClient:
def __init__(self):
- self.api_key = os.getenv('API_KEY') # <-- dependency
- self.timeout = os.getenv('TIMEOUT') # <-- dependency
+ self.api_key = os.getenv("API_KEY") # <-- dependency
+ self.timeout = os.getenv("TIMEOUT") # <-- dependency
class Service:
@@ -82,7 +82,7 @@ Before:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
main()
After:
@@ -109,12 +109,12 @@ After:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
main(
service=Service(
api_client=ApiClient(
- api_key=os.getenv('API_KEY'),
- timeout=os.getenv('TIMEOUT'),
+ api_key=os.getenv("API_KEY"),
+ timeout=os.getenv("TIMEOUT"),
),
),
)
@@ -136,8 +136,8 @@ Now you need to assemble and inject the objects like this:
main(
service=Service(
api_client=ApiClient(
- api_key=os.getenv('API_KEY'),
- timeout=os.getenv('TIMEOUT'),
+ api_key=os.getenv("API_KEY"),
+ timeout=os.getenv("TIMEOUT"),
),
),
)
@@ -162,7 +162,7 @@ the dependency.
.. code-block:: python
from dependency_injector import containers, providers
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
class Container(containers.DeclarativeContainer):
@@ -186,11 +186,11 @@ the dependency.
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.api_key.from_env('API_KEY')
- container.config.timeout.from_env('TIMEOUT')
- container.wire(modules=[sys.modules[__name__]])
+ container.config.api_key.from_env("API_KEY")
+ container.config.timeout.from_env("TIMEOUT")
+ container.wire(modules=[__name__])
main() # <-- dependency is injected automatically
diff --git a/docs/introduction/installation.rst b/docs/introduction/installation.rst
index 48aadc4d..4cb4060b 100644
--- a/docs/introduction/installation.rst
+++ b/docs/introduction/installation.rst
@@ -23,7 +23,7 @@ To verify the installed version:
>>> import dependency_injector
>>> dependency_injector.__version__
- '4.0.0'
+ '4.37.0'
.. note::
When add ``Dependency Injector`` to the ``requirements.txt`` don't forget to pin version
diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst
index d3a1db68..8d31780d 100644
--- a/docs/main/changelog.rst
+++ b/docs/main/changelog.rst
@@ -7,6 +7,25 @@ that were made in every particular version.
From version 0.7.6 *Dependency Injector* framework strictly
follows `Semantic versioning`_
+4.37.0
+------
+- Add support of Python 3.10.
+- Improve wiring with adding importing modules and packages from a string
+ ``container.wire(modules=["yourapp.module1"])``.
+- Add container wiring configuration ``wiring_config = containers.WiringConfiguration()``.
+- Add support of ``with`` statement for ``container.override_providers()`` method.
+- Add ``Configuration(yaml_files=[...])`` argument.
+- Add ``Configuration(ini_files=[...])`` argument.
+- Add ``Configuration(pydantic_settings=[...])`` argument.
+- Drop support of Python 3.4. There are no immediate breaking changes, but Dependency Injector
+ will no longer be tested on Python 3.4 and any bugs will not be fixed.
+- Announce the date of dropping Python 3.5 support (Jan 1st 2022).
+- Fix ``Dependency.is_defined`` attribute to always return boolean value.
+- Fix ``envs_required=False`` behavior in ``Configuration.from_*()`` methods
+ to give a priority to the explicitly provided value.
+- Update documentation and fix typos.
+- Regenerate C sources using Cython 0.29.24.
+- Migrate tests to ``pytest``.
4.36.2
------
diff --git a/docs/providers/configuration.rst b/docs/providers/configuration.rst
index e5c3e1ae..dc59a538 100644
--- a/docs/providers/configuration.rst
+++ b/docs/providers/configuration.rst
@@ -45,6 +45,21 @@ where ``examples/providers/configuration/config.ini`` is:
.. literalinclude:: ../../examples/providers/configuration/config.ini
:language: ini
+Alternatively, you can provide a path to the INI file over the configuration provider argument. In that case,
+the container will call ``config.from_ini()`` automatically:
+
+.. code-block:: python
+ :emphasize-lines: 3
+
+ class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(ini_files=["./config.ini"])
+
+
+ if __name__ == "__main__":
+ container = Container() # Config is loaded from ./config.ini
+
+
:py:meth:`Configuration.from_ini` method supports environment variables interpolation.
.. code-block:: ini
@@ -72,6 +87,20 @@ where ``examples/providers/configuration/config.yml`` is:
.. literalinclude:: ../../examples/providers/configuration/config.yml
:language: ini
+Alternatively, you can provide a path to the YAML file over the configuration provider argument. In that case,
+the container will call ``config.from_yaml()`` automatically:
+
+.. code-block:: python
+ :emphasize-lines: 3
+
+ class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(yaml_files=["./config.yml"])
+
+
+ if __name__ == "__main__":
+ container = Container() # Config is loaded from ./config.yml
+
:py:meth:`Configuration.from_yaml` method supports environment variables interpolation.
.. code-block:: ini
@@ -91,7 +120,7 @@ To use another loader use ``loader`` argument:
import yaml
- container.config.from_yaml('config.yml', loader=yaml.UnsafeLoader)
+ container.config.from_yaml("config.yml", loader=yaml.UnsafeLoader)
.. note::
@@ -123,7 +152,22 @@ If you need to pass an argument to this call, use ``.from_pydantic()`` keyword a
.. code-block:: python
- container.config.from_pydantic(Settings(), exclude={'optional'})
+ container.config.from_pydantic(Settings(), exclude={"optional"})
+
+Alternatively, you can provide a ``pydantic`` settings object over the configuration provider argument. In that case,
+the container will call ``config.from_pydantic()`` automatically:
+
+.. code-block:: python
+ :emphasize-lines: 3
+
+ class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(pydantic_settings=[Settings()])
+
+
+ if __name__ == "__main__":
+ container = Container() # Config is loaded from Settings()
+
.. note::
@@ -225,7 +269,7 @@ undefined environment variable that doesn't have a default value, pass argument
.. code-block:: python
- container.config.from_yaml('config.yml', envs_required=True)
+ container.config.from_yaml("config.yml", envs_required=True)
See also: :ref:`configuration-strict-mode`.
@@ -270,13 +314,13 @@ Mandatory YAML file:
.. code-block:: python
- container.config.from_yaml('config.yaml', required=True)
+ container.config.from_yaml("config.yaml", required=True)
Mandatory INI file:
.. code-block:: python
- container.config.from_ini('config.ini', required=True)
+ container.config.from_ini("config.ini", required=True)
Mandatory dictionary:
@@ -288,7 +332,7 @@ Mandatory environment variable:
.. code-block:: python
- container.config.api_key.from_env('API_KEY', required=True)
+ container.config.api_key.from_env("API_KEY", required=True)
See also: :ref:`configuration-strict-mode`.
@@ -346,16 +390,16 @@ configuration data is undefined:
config = providers.Configuration(strict=True)
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
try:
- container.config.from_yaml('does-not_exist.yml') # raise exception
+ container.config.from_yaml("does-not_exist.yml") # raise exception
except FileNotFoundError:
...
try:
- container.config.from_ini('does-not_exist.ini') # raise exception
+ container.config.from_ini("does-not_exist.ini") # raise exception
except FileNotFoundError:
...
@@ -365,7 +409,7 @@ configuration data is undefined:
...
try:
- container.config.from_env('UNDEFINED_ENV_VAR') # raise exception
+ container.config.from_env("UNDEFINED_ENV_VAR") # raise exception
except ValueError:
...
@@ -385,7 +429,7 @@ an undefined environment variable without a default value.
.. code-block:: python
try:
- container.config.from_yaml('undefined_env.yml') # raise exception
+ container.config.from_yaml("undefined_env.yml") # raise exception
except ValueError:
...
@@ -398,11 +442,11 @@ You can override ``.from_*()`` methods behaviour in strict mode using ``required
config = providers.Configuration(strict=True)
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
- container.config.from_yaml('config.local.yml', required=False)
+ container.config.from_yaml("config.yml")
+ container.config.from_yaml("config.local.yml", required=False)
You can also use ``.required()`` option modifier when making an injection. It does not require to switch
configuration provider to strict mode.
diff --git a/docs/providers/dict.rst b/docs/providers/dict.rst
index bf62c4e6..526a176a 100644
--- a/docs/providers/dict.rst
+++ b/docs/providers/dict.rst
@@ -23,8 +23,8 @@ To use non-string keys or keys with ``.`` and ``-`` provide a dictionary as a po
providers.Dict({
SomeClass: providers.Factory(...),
- 'key.with.periods': providers.Factory(...),
- 'key-with-dashes': providers.Factory(...),
+ "key.with.periods": providers.Factory(...),
+ "key-with-dashes": providers.Factory(...),
})
Example:
diff --git a/docs/providers/resource.rst b/docs/providers/resource.rst
index ad255511..918dfa66 100644
--- a/docs/providers/resource.rst
+++ b/docs/providers/resource.rst
@@ -98,7 +98,7 @@ you configure global resource:
configure_logging = providers.Resource(
logging.config.fileConfig,
- fname='logging.ini',
+ fname="logging.ini",
)
Function initializer does not provide a way to specify custom resource shutdown.
@@ -210,8 +210,8 @@ first argument.
.. _resource-provider-wiring-closing:
-Resources, wiring and per-function execution scope
---------------------------------------------------
+Resources, wiring, and per-function execution scope
+---------------------------------------------------
You can compound ``Resource`` provider with :ref:`wiring` to implement per-function
execution scope. For doing this you need to use additional ``Closing`` marker from
@@ -220,7 +220,7 @@ execution scope. For doing this you need to use additional ``Closing`` marker fr
.. literalinclude:: ../../examples/wiring/flask_resource_closing.py
:language: python
:lines: 3-
- :emphasize-lines: 24
+ :emphasize-lines: 22
Framework initializes and injects the resource into the function. With the ``Closing`` marker
framework calls resource ``shutdown()`` method when function execution is over.
@@ -325,7 +325,7 @@ When you use resource provider with asynchronous initializer you need to call it
connection = await container.connection.shutdown()
- if __name__ == '__main__':
+ if __name__ == "__main__":
asyncio.run(main())
Container ``init_resources()`` and ``shutdown_resources()`` methods should be used asynchronously if there is
@@ -349,7 +349,7 @@ at least one asynchronous resource provider:
await container.shutdown_resources()
- if __name__ == '__main__':
+ if __name__ == "__main__":
asyncio.run(main())
See also:
diff --git a/docs/providers/typing_mypy.rst b/docs/providers/typing_mypy.rst
index f108a77a..b7d74d5a 100644
--- a/docs/providers/typing_mypy.rst
+++ b/docs/providers/typing_mypy.rst
@@ -30,7 +30,7 @@ IDE.
provider = providers.Factory(Cat)
- if __name__ == '__main__':
+ if __name__ == "__main__":
animal = provider() # mypy knows that animal is of type "Cat"
@@ -54,5 +54,7 @@ function or method.
provider: providers.Provider[Animal] = providers.Factory(Cat)
- if __name__ == '__main__':
+ if __name__ == "__main__":
animal = provider() # mypy knows that animal is of type "Animal"
+
+.. disqus::
diff --git a/docs/tutorials/aiohttp.rst b/docs/tutorials/aiohttp.rst
index 105daf24..f77bb4d8 100644
--- a/docs/tutorials/aiohttp.rst
+++ b/docs/tutorials/aiohttp.rst
@@ -127,8 +127,6 @@ Now it's time to install the project requirements. We will use next packages:
- ``dependency-injector`` - the dependency injection framework
- ``aiohttp`` - the web framework
-- ``aiohttp-devtools`` - the helper library that will provide a development server with live
- reloading
- ``pyyaml`` - the YAML files parsing library, used for the reading of the configuration files
- ``pytest-aiohttp`` - the helper library for the testing of the ``aiohttp`` application
- ``pytest-cov`` - the helper library for measuring the test coverage
@@ -139,7 +137,6 @@ Put next lines into the ``requirements.txt`` file:
dependency-injector
aiohttp
- aiohttp-devtools
pyyaml
pytest-aiohttp
pytest-cov
@@ -177,16 +174,16 @@ Edit ``handlers.py``:
async def index(request: web.Request) -> web.Response:
- query = request.query.get('query', 'Dependency Injector')
- limit = int(request.query.get('limit', 10))
+ query = request.query.get("query", "Dependency Injector")
+ limit = int(request.query.get("limit", 10))
gifs = []
return web.json_response(
{
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
},
)
@@ -228,30 +225,35 @@ Put next into the ``application.py``:
app = web.Application()
app.container = container
app.add_routes([
- web.get('/', handlers.index),
+ web.get("/", handlers.index),
])
return app
+
+ if __name__ == "__main__":
+ app = create_app()
+ web.run_app(app)
+
Now we're ready to run our application
Do next in the terminal:
.. code-block:: bash
- adev runserver giphynavigator/application.py --livereload
+ python -m giphynavigator.application
The output should be something like:
.. code-block:: bash
- [18:52:59] Starting aux server at http://localhost:8001 β
- [18:52:59] Starting dev server at http://localhost:8000 β
+ ======== Running on http://0.0.0.0:8080 ========
+ (Press CTRL+C to quit)
Let's check that it works. Open another terminal session and use ``httpie``:
.. code-block:: bash
- http http://127.0.0.1:8000/
+ http http://0.0.0.0:8080/
You should see:
@@ -261,7 +263,7 @@ You should see:
Content-Length: 844
Content-Type: application/json; charset=utf-8
Date: Wed, 29 Jul 2020 21:01:50 GMT
- Server: Python/3.8 aiohttp/3.6.2
+ Server: Python/3.10 aiohttp/3.6.2
{
"gifs": [],
@@ -304,7 +306,7 @@ and put next into it:
class GiphyClient:
- API_URL = 'https://api.giphy.com/v1'
+ API_URL = "https://api.giphy.com/v1"
def __init__(self, api_key, timeout):
self._api_key = api_key
@@ -312,11 +314,11 @@ and put next into it:
async def search(self, query, limit):
"""Make search API call and return result."""
- url = f'{self.API_URL}/gifs/search'
+ url = f"{self.API_URL}/gifs/search"
params = {
- 'q': query,
- 'api_key': self._api_key,
- 'limit': limit,
+ "q": query,
+ "api_key": self._api_key,
+ "limit": limit,
}
async with ClientSession(timeout=self._timeout) as session:
async with session.get(url, params=params) as response:
@@ -328,8 +330,10 @@ Now we need to add ``GiphyClient`` into the container. The ``GiphyClient`` has t
that have to be injected: the API key and the request timeout. We will need to use two more
providers from the ``dependency_injector.providers`` module:
-- ``Factory`` provider that will create the ``GiphyClient`` client.
-- ``Configuration`` provider that will provide the API key and the request timeout.
+- ``Factory`` provider. It will create a ``GiphyClient`` client.
+- ``Configuration`` provider. It will provide an API key and a request timeout for the ``GiphyClient``
+ client. We will specify the location of the configuration file. The configuration provider will parse
+ the configuration file when we create a container instance.
Edit ``containers.py``:
@@ -345,7 +349,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
giphy_client = providers.Factory(
giphy.GiphyClient,
@@ -353,18 +357,8 @@ Edit ``containers.py``:
timeout=config.giphy.request_timeout,
)
-.. note::
-
- We have used the configuration value before it was defined. That's the principle how the
- ``Configuration`` provider works.
-
- Use first, define later.
-
-Now let's add the configuration file.
-
-We will use YAML.
-
-Create an empty file ``config.yml`` in the root root of the project:
+Now let's add the configuration file. We will use YAML. Create an empty file ``config.yml`` in
+the root root of the project:
.. code-block:: bash
:emphasize-lines: 9
@@ -387,17 +381,14 @@ and put next into it:
giphy:
request_timeout: 10
-We will use an environment variable ``GIPHY_API_KEY`` to provide the API key.
-Now we need to edit ``create_app()`` to make two things when application starts:
-
-- Load the configuration file the ``config.yml``.
-- Load the API key from the ``GIPHY_API_KEY`` environment variable.
+We will use the ``GIPHY_API_KEY`` environment variable to provide the API key. Letβs edit
+``create_app()`` to fetch the key value from it.
Edit ``application.py``:
.. code-block:: python
- :emphasize-lines: 11-12
+ :emphasize-lines: 11
"""Application module."""
@@ -409,17 +400,20 @@ Edit ``application.py``:
def create_app() -> web.Application:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.giphy.api_key.from_env('GIPHY_API_KEY')
+ container.config.giphy.api_key.from_env("GIPHY_API_KEY")
app = web.Application()
app.container = container
app.add_routes([
- web.get('/', handlers.index),
+ web.get("/", handlers.index),
])
return app
+ if __name__ == "__main__":
+ app = create_app()
+ web.run_app(app)
+
Now we need to create an API key and set it to the environment variable.
As for now, donβt worry, just take this one:
@@ -483,7 +477,7 @@ and put next into it:
result = await self._giphy_client.search(query, limit)
- return [{'url': gif['url']} for gif in result['data']]
+ return [{"url": gif["url"]} for gif in result["data"]]
The ``SearchService`` has a dependency on the ``GiphyClient``. This dependency will be
injected when we add ``SearchService`` to the container.
@@ -502,7 +496,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
giphy_client = providers.Factory(
giphy.GiphyClient,
@@ -531,7 +525,7 @@ Edit ``handlers.py``:
"""Handlers module."""
from aiohttp import web
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .services import SearchService
from .containers import Container
@@ -542,60 +536,63 @@ Edit ``handlers.py``:
request: web.Request,
search_service: SearchService = Provide[Container.search_service],
) -> web.Response:
- query = request.query.get('query', 'Dependency Injector')
- limit = int(request.query.get('limit', 10))
+ query = request.query.get("query", "Dependency Injector")
+ limit = int(request.query.get("limit", 10))
gifs = await search_service.search(query, limit)
return web.json_response(
{
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
},
)
-To make the injection work we need to wire the container instance with the ``handlers`` module.
-This needs to be done once. After it's done we can use ``Provide`` markers to specify as many
-injections as needed for any handler.
+To make the injection work we need to wire the container with the ``handlers`` module.
+Let's configure the container to automatically make wiring with the ``handlers`` module when we
+create a container instance.
-Edit ``application.py``:
+Edit ``containers.py``:
.. code-block:: python
- :emphasize-lines: 13
+ :emphasize-lines: 10
- """Application module."""
+ """Containers module."""
- from aiohttp import web
+ from dependency_injector import containers, providers
- from .containers import Container
- from . import handlers
+ from . import giphy, services
- def create_app() -> web.Application:
- container = Container()
- container.config.from_yaml('config.yml')
- container.config.giphy.api_key.from_env('GIPHY_API_KEY')
- container.wire(modules=[handlers])
+ class Container(containers.DeclarativeContainer):
- app = web.Application()
- app.container = container
- app.add_routes([
- web.get('/', handlers.index),
- ])
- return app
+ wiring_config = containers.WiringConfiguration(modules=[".handlers"])
-Make sure the app is running or use:
+ config = providers.Configuration(yaml_files=["config.yml"])
+
+ giphy_client = providers.Factory(
+ giphy.GiphyClient,
+ api_key=config.giphy.api_key,
+ timeout=config.giphy.request_timeout,
+ )
+
+ search_service = providers.Factory(
+ services.SearchService,
+ giphy_client=giphy_client,
+ )
+
+Make sure the app is running:
.. code-block:: bash
- adev runserver giphynavigator/application.py --livereload
+ python -m giphynavigator.application
and make a request to the API in the terminal:
.. code-block:: bash
- http http://localhost:8000/ query=="wow,it works" limit==5
+ http http://0.0.0.0:8080/ query=="wow,it works" limit==5
You should see:
@@ -605,7 +602,7 @@ You should see:
Content-Length: 492
Content-Type: application/json; charset=utf-8
Date: Fri, 09 Oct 2020 01:35:48 GMT
- Server: Python/3.8 aiohttp/3.6.2
+ Server: Python/3.10 aiohttp/3.6.2
{
"gifs": [
@@ -651,7 +648,7 @@ Edit ``handlers.py``:
"""Handlers module."""
from aiohttp import web
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .services import SearchService
from .containers import Container
@@ -664,16 +661,16 @@ Edit ``handlers.py``:
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
) -> web.Response:
- query = request.query.get('query', default_query)
- limit = int(request.query.get('limit', default_limit))
+ query = request.query.get("query", default_query)
+ limit = int(request.query.get("limit", default_limit))
gifs = await search_service.search(query, limit)
return web.json_response(
{
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
},
)
@@ -745,29 +742,29 @@ and put next into it:
async def test_index(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "data": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
with app.container.giphy_client.override(giphy_client_mock):
response = await client.get(
- '/',
+ "/",
params={
- 'query': 'test',
- 'limit': 10,
+ "query": "test",
+ "limit": 10,
},
)
assert response.status == 200
data = await response.json()
assert data == {
- 'query': 'test',
- 'limit': 10,
- 'gifs': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "query": "test",
+ "limit": 10,
+ "gifs": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
@@ -775,30 +772,30 @@ and put next into it:
async def test_index_no_data(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status == 200
data = await response.json()
- assert data['gifs'] == []
+ assert data["gifs"] == []
async def test_index_default_params(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status == 200
data = await response.json()
- assert data['query'] == app.container.config.default.query()
- assert data['limit'] == app.container.config.default.limit()
+ assert data["query"] == app.container.config.default.query()
+ assert data["limit"] == app.container.config.default.limit()
Now let's run it and check the coverage:
@@ -810,24 +807,24 @@ You should see:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0, aiohttp-0.3.0, asyncio-0.14.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: asyncio-0.16.0, anyio-3.3.4, aiohttp-0.3.0, cov-3.0.0
collected 3 items
giphynavigator/tests.py ... [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
---------------------------------------------------
giphynavigator/__init__.py 0 0 100%
- giphynavigator/application.py 12 0 100%
- giphynavigator/containers.py 6 0 100%
+ giphynavigator/application.py 13 2 85%
+ giphynavigator/containers.py 7 0 100%
giphynavigator/giphy.py 14 9 36%
giphynavigator/handlers.py 10 0 100%
giphynavigator/services.py 9 1 89%
giphynavigator/tests.py 37 0 100%
---------------------------------------------------
- TOTAL 88 10 89%
+ TOTAL 90 12 87%
.. note::
diff --git a/docs/tutorials/asyncio-daemon.rst b/docs/tutorials/asyncio-daemon.rst
index f8004239..5e641739 100644
--- a/docs/tutorials/asyncio-daemon.rst
+++ b/docs/tutorials/asyncio-daemon.rst
@@ -59,8 +59,8 @@ The output should look something like:
.. code-block:: bash
- Docker version 19.03.12, build 48a66213fe
- docker-compose version 1.26.2, build eefe0d31
+ Docker version 20.10.5, build 55c4c88
+ docker-compose version 1.29.0, build 07737305
.. note::
@@ -129,13 +129,13 @@ Put next lines into the ``requirements.txt`` file:
pytest-cov
Second, we need to create the ``Dockerfile``. It will describe the daemon's build process and
-specify how to run it. We will use ``python:3.8-buster`` as a base image.
+specify how to run it. We will use ``python:3.9-buster`` as a base image.
Put next lines into the ``Dockerfile`` file:
.. code-block:: bash
- FROM python:3.8-buster
+ FROM python:3.10-buster
ENV PYTHONUNBUFFERED=1
@@ -204,11 +204,11 @@ Logging and configuration
In this section we will configure the logging and configuration file parsing.
-Let's start with the the main part of our application - the container. Container will keep all of
+Let's start with the the main part of our application β the container. Container will keep all of
the application components and their dependencies.
-First two components that we're going to add are the config object and the provider for
-configuring the logging.
+First two components that we're going to add are the configuration provider and the resource provider
+for configuring the logging.
Put next lines into the ``containers.py`` file:
@@ -224,7 +224,7 @@ Put next lines into the ``containers.py`` file:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
@@ -233,16 +233,7 @@ Put next lines into the ``containers.py`` file:
format=config.log.format,
)
-.. note::
-
- We have used the configuration value before it was defined. That's the principle how the
- ``Configuration`` provider works.
-
- Use first, define later.
-
-The configuration file will keep the logging settings.
-
-Put next lines into the ``config.yml`` file:
+The configuration file will keep the logging settings. Put next lines into the ``config.yml`` file:
.. code-block:: yaml
@@ -250,9 +241,10 @@ Put next lines into the ``config.yml`` file:
level: "INFO"
format: "[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s"
-Now let's create the function that will run our daemon. It's traditionally called
-``main()``. The ``main()`` function will create the container. Then it will use the container
-to parse the ``config.yml`` file and call the logging configuration provider.
+Now let's create the function that will run our daemon. It's traditionally called ``main()``.
+The ``main()`` function will start the dispatcher, but we will keep it empty for now.
+We will create the container instance before calling ``main()`` in ``if __name__ == "__main__"``.
+Container instance will parse ``config.yml`` and then we will call the logging configuration provider.
Put next lines into the ``__main__.py`` file:
@@ -267,9 +259,8 @@ Put next lines into the ``__main__.py`` file:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
container.init_resources()
main()
@@ -356,7 +347,7 @@ and next into the ``dispatcher.py``:
asyncio.run(self.start())
async def start(self) -> None:
- self._logger.info('Starting up')
+ self._logger.info("Starting up")
for monitor in self._monitors:
self._monitor_tasks.append(
@@ -376,11 +367,11 @@ and next into the ``dispatcher.py``:
self._stopping = True
- self._logger.info('Shutting down')
+ self._logger.info("Shutting down")
for task, monitor in zip(self._monitor_tasks, self._monitors):
task.cancel()
self._monitor_tasks.clear()
- self._logger.info('Shutdown finished successfully')
+ self._logger.info("Shutdown finished successfully")
@staticmethod
async def _run_monitor(monitor: Monitor) -> None:
@@ -396,7 +387,7 @@ and next into the ``dispatcher.py``:
except asyncio.CancelledError:
break
except Exception:
- monitor.logger.exception('Error executing monitor check')
+ monitor.logger.exception("Error executing monitor check")
await asyncio.sleep(_until_next(last=time_start))
@@ -419,7 +410,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
@@ -442,13 +433,11 @@ and call the ``run()`` method. We will use :ref:`wiring` feature.
Edit ``__main__.py``:
.. code-block:: python
- :emphasize-lines: 3-7,11-13,20
+ :emphasize-lines: 3-5,9-11,17
"""Main module."""
- import sys
-
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .dispatcher import Dispatcher
from .containers import Container
@@ -459,11 +448,10 @@ Edit ``__main__.py``:
dispatcher.run()
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
container.init_resources()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
@@ -561,7 +549,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
@@ -613,10 +601,10 @@ Edit ``monitors.py``:
options: Dict[str, Any],
) -> None:
self._client = http_client
- self._method = options.pop('method')
- self._url = options.pop('url')
- self._timeout = options.pop('timeout')
- super().__init__(check_every=options.pop('check_every'))
+ self._method = options.pop("method")
+ self._url = options.pop("url")
+ self._timeout = options.pop("timeout")
+ super().__init__(check_every=options.pop("check_every"))
async def check(self) -> None:
time_start = time.time()
@@ -631,11 +619,11 @@ Edit ``monitors.py``:
time_took = time_end - time_start
self.logger.info(
- 'Check\n'
- ' %s %s\n'
- ' response code: %s\n'
- ' content length: %s\n'
- ' request took: %s seconds',
+ "Check\n"
+ " %s %s\n"
+ " response code: %s\n"
+ " content length: %s\n"
+ " request took: %s seconds",
self._method,
self._url,
response.status,
@@ -666,7 +654,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
@@ -765,7 +753,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
@@ -890,7 +878,7 @@ Create ``tests.py`` in the ``monitoringdaemon`` package:
and put next into it:
.. code-block:: python
- :emphasize-lines: 54,70-71
+ :emphasize-lines: 54,70-73
"""Tests module."""
@@ -911,33 +899,33 @@ and put next into it:
@pytest.fixture
def container():
- container = Container()
- container.config.from_dict({
- 'log': {
- 'level': 'INFO',
- 'formant': '[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s',
- },
- 'monitors': {
- 'example': {
- 'method': 'GET',
- 'url': 'http://fake-example.com',
- 'timeout': 1,
- 'check_every': 1,
+ return Container(
+ config={
+ "log": {
+ "level": "INFO",
+ "formant": "[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s",
},
- 'httpbin': {
- 'method': 'GET',
- 'url': 'https://fake-httpbin.org/get',
- 'timeout': 1,
- 'check_every': 1,
+ "monitors": {
+ "example": {
+ "method": "GET",
+ "url": "http://fake-example.com",
+ "timeout": 1,
+ "check_every": 1,
+ },
+ "httpbin": {
+ "method": "GET",
+ "url": "https://fake-httpbin.org/get",
+ "timeout": 1,
+ "check_every": 1,
+ },
},
- },
- })
- return container
+ }
+ )
@pytest.mark.asyncio
async def test_example_monitor(container, caplog):
- caplog.set_level('INFO')
+ caplog.set_level("INFO")
http_client_mock = mock.AsyncMock()
http_client_mock.request.return_value = RequestStub(
@@ -949,21 +937,22 @@ and put next into it:
example_monitor = container.example_monitor()
await example_monitor.check()
- assert 'http://fake-example.com' in caplog.text
- assert 'response code: 200' in caplog.text
- assert 'content length: 635' in caplog.text
+ assert "http://fake-example.com" in caplog.text
+ assert "response code: 200" in caplog.text
+ assert "content length: 635" in caplog.text
@pytest.mark.asyncio
async def test_dispatcher(container, caplog, event_loop):
- caplog.set_level('INFO')
+ caplog.set_level("INFO")
example_monitor_mock = mock.AsyncMock()
httpbin_monitor_mock = mock.AsyncMock()
- with container.example_monitor.override(example_monitor_mock), \
- container.httpbin_monitor.override(httpbin_monitor_mock):
-
+ with container.override_providers(
+ example_monitor=example_monitor_mock,
+ httpbin_monitor=httpbin_monitor_mock,
+ ):
dispatcher = container.dispatcher()
event_loop.create_task(dispatcher.start())
await asyncio.sleep(0.1)
@@ -982,25 +971,25 @@ You should see:
.. code-block:: bash
- platform linux -- Python 3.8.3, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
+ platform linux -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: /code
- plugins: asyncio-0.14.0, cov-2.10.0
+ plugins: asyncio-0.16.0, cov-3.0.0
collected 2 items
monitoringdaemon/tests.py .. [100%]
- ----------- coverage: platform linux, python 3.8.3-final-0 -----------
+ ---------- coverage: platform linux, python 3.10.0-final-0 -----------
Name Stmts Miss Cover
----------------------------------------------------
monitoringdaemon/__init__.py 0 0 100%
- monitoringdaemon/__main__.py 13 13 0%
+ monitoringdaemon/__main__.py 11 11 0%
monitoringdaemon/containers.py 11 0 100%
- monitoringdaemon/dispatcher.py 44 5 89%
+ monitoringdaemon/dispatcher.py 45 5 89%
monitoringdaemon/http.py 6 3 50%
monitoringdaemon/monitors.py 23 1 96%
- monitoringdaemon/tests.py 37 0 100%
+ monitoringdaemon/tests.py 35 0 100%
----------------------------------------------------
- TOTAL 134 22 84%
+ TOTAL 131 20 85%
.. note::
diff --git a/docs/tutorials/cli.rst b/docs/tutorials/cli.rst
index 3264caf9..4f33d31e 100644
--- a/docs/tutorials/cli.rst
+++ b/docs/tutorials/cli.rst
@@ -160,19 +160,19 @@ Second put next in the ``fixtures.py``:
SAMPLE_DATA = [
- ('The Hunger Games: Mockingjay - Part 2', 2015, 'Francis Lawrence'),
- ('Rogue One: A Star Wars Story', 2016, 'Gareth Edwards'),
- ('The Jungle Book', 2016, 'Jon Favreau'),
+ ("The Hunger Games: Mockingjay - Part 2", 2015, "Francis Lawrence"),
+ ("Rogue One: A Star Wars Story", 2016, "Gareth Edwards"),
+ ("The Jungle Book", 2016, "Jon Favreau"),
]
FILE = pathlib.Path(__file__)
DIR = FILE.parent
- CSV_FILE = DIR / 'movies.csv'
- SQLITE_FILE = DIR / 'movies.db'
+ CSV_FILE = DIR / "movies.csv"
+ SQLITE_FILE = DIR / "movies.db"
def create_csv(movies_data, path):
- with open(path, 'w') as opened_file:
+ with open(path, "w") as opened_file:
writer = csv.writer(opened_file)
for row in movies_data:
writer.writerow(row)
@@ -181,20 +181,20 @@ Second put next in the ``fixtures.py``:
def create_sqlite(movies_data, path):
with sqlite3.connect(path) as db:
db.execute(
- 'CREATE TABLE IF NOT EXISTS movies '
- '(title text, year int, director text)'
+ "CREATE TABLE IF NOT EXISTS movies "
+ "(title text, year int, director text)"
)
- db.execute('DELETE FROM movies')
- db.executemany('INSERT INTO movies VALUES (?,?,?)', movies_data)
+ db.execute("DELETE FROM movies")
+ db.executemany("INSERT INTO movies VALUES (?,?,?)", movies_data)
def main():
create_csv(SAMPLE_DATA, CSV_FILE)
create_sqlite(SAMPLE_DATA, SQLITE_FILE)
- print('OK')
+ print("OK")
- if __name__ == '__main__':
+ if __name__ == "__main__":
main()
Now run in the terminal:
@@ -266,7 +266,7 @@ Edit ``__main__.py``:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
main()
@@ -321,7 +321,7 @@ and put next into it:
self.director = str(director)
def __repr__(self):
- return '{0}(title={1}, year={2}, director={3})'.format(
+ return "{0}(title={1}, year={2}, director={3})".format(
self.__class__.__name__,
repr(self.title),
repr(self.year),
@@ -428,7 +428,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
movie = providers.Factory(entities.Movie)
@@ -445,15 +445,9 @@ This is also called the delegation of the provider. If we just pass the movie fa
as the dependency, it will be called when csv finder is created and the ``Movie`` instance will
be injected. With the ``.provider`` attribute the provider itself will be injected.
-The csv finder also has a few dependencies on the configuration options. We added configuration
-provider to provide these dependencies.
-
-.. note::
-
- We have used the configuration value before it was defined. That's the principle how the
- Configuration provider works.
-
- Use first, define later.
+The csv finder also has a few dependencies on the configuration options. We added a configuration
+provider to provide these dependencies and specified the location of the configuration file.
+The configuration provider will parse the configuration file when we create a container instance.
Not let's define the configuration values.
@@ -467,29 +461,7 @@ Edit ``config.yml``:
path: "data/movies.csv"
delimiter: ","
-The configuration file is ready. Now let's update the ``main()`` function to specify its location.
-
-Edit ``__main__.py``:
-
-.. code-block:: python
- :emphasize-lines: 12
-
- """Main module."""
-
- from .containers import Container
-
-
- def main() -> None:
- ...
-
-
- if __name__ == '__main__':
- container = Container()
- container.config.from_yaml('config.yml')
-
- main()
-
-Move on to the lister.
+The configuration file is ready. Move on to the lister.
Create the ``listers.py`` in the ``movies`` package:
@@ -552,7 +524,7 @@ and edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
movie = providers.Factory(entities.Movie)
@@ -575,13 +547,11 @@ Let's inject the ``lister`` into the ``main()`` function.
Edit ``__main__.py``:
.. code-block:: python
- :emphasize-lines: 3-7,11-12,19
+ :emphasize-lines: 3-5,9-10,16
"""Main module."""
- import sys
-
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .listers import MovieLister
from .containers import Container
@@ -592,10 +562,9 @@ Edit ``__main__.py``:
...
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
@@ -607,13 +576,11 @@ Francis Lawrence and movies released in 2016.
Edit ``__main__.py``:
.. code-block:: python
- :emphasize-lines: 13-19
+ :emphasize-lines: 11-17
"""Main module."""
- import sys
-
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .listers import MovieLister
from .containers import Container
@@ -621,19 +588,18 @@ Edit ``__main__.py``:
@inject
def main(lister: MovieLister = Provide[Container.lister]) -> None:
- print('Francis Lawrence movies:')
- for movie in lister.movies_directed_by('Francis Lawrence'):
- print('\t-', movie)
+ print("Francis Lawrence movies:")
+ for movie in lister.movies_directed_by("Francis Lawrence"):
+ print("\t-", movie)
- print('2016 movies:')
+ print("2016 movies:")
for movie in lister.movies_released_in(2016):
- print('\t-', movie)
+ print("\t-", movie)
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
@@ -718,7 +684,7 @@ Edit ``finders.py``:
def find_all(self) -> List[Movie]:
with self._database as db:
- rows = db.execute('SELECT title, year, director FROM movies')
+ rows = db.execute("SELECT title, year, director FROM movies")
return [self._movie_factory(*row) for row in rows]
Now we need to add the sqlite finder to the container and update lister's dependency to use it.
@@ -737,7 +703,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
movie = providers.Factory(entities.Movie)
@@ -826,7 +792,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
movie = providers.Factory(entities.Movie)
@@ -863,13 +829,11 @@ Now we need to read the value of the ``config.finder.type`` option from the envi
Edit ``__main__.py``:
.. code-block:: python
- :emphasize-lines: 25
+ :emphasize-lines: 22
"""Main module."""
- import sys
-
- from dependency_injector.wiring import inject, Provide
+ from dependency_injector.wiring import Provide, inject
from .listers import MovieLister
from .containers import Container
@@ -877,19 +841,18 @@ Edit ``__main__.py``:
@inject
def main(lister: MovieLister = Provide[Container.lister]) -> None:
- print('Francis Lawrence movies:')
- for movie in lister.movies_directed_by('Francis Lawrence'):
- print('\t-', movie)
+ print("Francis Lawrence movies:")
+ for movie in lister.movies_directed_by("Francis Lawrence"):
+ print("\t-", movie)
- print('2016 movies:')
+ print("2016 movies:")
for movie in lister.movies_released_in(2016):
- print('\t-', movie)
+ print("\t-", movie)
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
- container.config.finder.type.from_env('MOVIE_FINDER_TYPE')
+ container.config.finder.type.from_env("MOVIE_FINDER_TYPE")
container.wire(modules=[sys.modules[__name__]])
main()
@@ -948,7 +911,7 @@ Create ``tests.py`` in the ``movies`` package:
and put next into it:
.. code-block:: python
- :emphasize-lines: 35,50
+ :emphasize-lines: 36,51
"""Tests module."""
@@ -961,42 +924,43 @@ and put next into it:
@pytest.fixture
def container():
- container = Container()
- container.config.from_dict({
- 'finder': {
- 'type': 'csv',
- 'csv': {
- 'path': '/fake-movies.csv',
- 'delimiter': ',',
- },
- 'sqlite': {
- 'path': '/fake-movies.db',
+ container = Container(
+ config={
+ "finder": {
+ "type": "csv",
+ "csv": {
+ "path": "/fake-movies.csv",
+ "delimiter": ",",
+ },
+ "sqlite": {
+ "path": "/fake-movies.db",
+ },
},
},
- })
+ )
return container
def test_movies_directed_by(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
- container.movie('The 33', 2015, 'Patricia Riggen'),
- container.movie('The Jungle Book', 2016, 'Jon Favreau'),
+ container.movie("The 33", 2015, "Patricia Riggen"),
+ container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
with container.finder.override(finder_mock):
lister = container.lister()
- movies = lister.movies_directed_by('Jon Favreau')
+ movies = lister.movies_directed_by("Jon Favreau")
assert len(movies) == 1
- assert movies[0].title == 'The Jungle Book'
+ assert movies[0].title == "The Jungle Book"
def test_movies_released_in(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
- container.movie('The 33', 2015, 'Patricia Riggen'),
- container.movie('The Jungle Book', 2016, 'Jon Favreau'),
+ container.movie("The 33", 2015, "Patricia Riggen"),
+ container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
with container.finder.override(finder_mock):
@@ -1004,7 +968,7 @@ and put next into it:
movies = lister.movies_released_in(2015)
assert len(movies) == 1
- assert movies[0].title == 'The 33'
+ assert movies[0].title == "The 33"
Run in the terminal:
@@ -1016,24 +980,24 @@ You should see:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: cov-3.0.0
collected 2 items
movies/tests.py .. [100%]
- ---------- coverage: platform darwin, python 3.8.5-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10 -----------
Name Stmts Miss Cover
------------------------------------------
movies/__init__.py 0 0 100%
- movies/__main__.py 18 18 0%
+ movies/__main__.py 16 16 0%
movies/containers.py 9 0 100%
movies/entities.py 7 1 86%
movies/finders.py 26 13 50%
movies/listers.py 8 0 100%
- movies/tests.py 24 0 100%
+ movies/tests.py 23 0 100%
------------------------------------------
- TOTAL 92 32 65%
+ TOTAL 89 30 66%
.. note::
@@ -1053,7 +1017,7 @@ We've used the ``Dependency Injector`` as a dependency injection framework.
With a help of :ref:`containers` and :ref:`providers` we have defined how to assemble application components.
``Selector`` provider served as a switch for selecting the database format based on a configuration.
-:ref:`configuration-provider` helped to deal with reading YAML file and environment variable.
+:ref:`configuration-provider` helped to deal with reading a YAML file and environment variables.
We used :ref:`wiring` feature to inject the dependencies into the ``main()`` function.
:ref:`provider-overriding` feature helped in testing.
diff --git a/docs/tutorials/flask.rst b/docs/tutorials/flask.rst
index f22b6a2a..a0075502 100644
--- a/docs/tutorials/flask.rst
+++ b/docs/tutorials/flask.rst
@@ -110,9 +110,9 @@ You should see something like:
.. code-block:: bash
(venv) $ python -c "import dependency_injector; print(dependency_injector.__version__)"
- 4.0.0
+ 4.37.0
(venv) $ python -c "import flask; print(flask.__version__)"
- 1.1.2
+ 2.0.2
*Versions can be different. That's fine.*
@@ -129,7 +129,7 @@ Put next into the ``views.py``:
def index():
- return 'Hello, World!'
+ return "Hello, World!"
Ok, we have the view.
@@ -170,7 +170,7 @@ Put next into the ``application.py``:
app = Flask(__name__)
app.container = container
- app.add_url_rule('/', 'index', views.index)
+ app.add_url_rule("/", "index", views.index)
return app
@@ -246,7 +246,7 @@ Edit ``application.py``:
app = Flask(__name__)
app.container = container
- app.add_url_rule('/', 'index', views.index)
+ app.add_url_rule("/", "index", views.index)
bootstrap = Bootstrap()
bootstrap.init_app(app)
@@ -398,13 +398,13 @@ Edit ``views.py``:
def index():
- query = request.args.get('query', 'Dependency Injector')
- limit = request.args.get('limit', 10, int)
+ query = request.args.get("query", "Dependency Injector")
+ limit = request.args.get("limit", 10, int)
repositories = []
return render_template(
- 'index.html',
+ "index.html",
query=query,
limit=limit,
repositories=repositories,
@@ -444,9 +444,10 @@ and run in the terminal:
Now we need to add Github API client the container. We will need to add two more providers from
the ``dependency_injector.providers`` module:
-- ``Factory`` provider that will create ``Github`` client.
-- ``Configuration`` provider that will be used for providing the API token and the request timeout
- for the ``Github`` client.
+- ``Factory`` provider. It will create a ``Github`` client.
+- ``Configuration`` provider. It will provide an API token and a request timeout for the ``Github`` client.
+ We will specify the location of the configuration file. The configuration provider will parse
+ the configuration file when we create a container instance.
Edit ``containers.py``:
@@ -461,7 +462,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
github_client = providers.Factory(
Github,
@@ -469,23 +470,14 @@ Edit ``containers.py``:
timeout=config.github.request_timeout,
)
-.. note::
-
- We have used the configuration value before it was defined. That's the principle how
- ``Configuration`` provider works.
-
- Use first, define later.
.. note::
Don't forget to remove the Ellipsis ``...`` from the container. We don't need it anymore
since we container is not empty.
-Now let's add the configuration file.
-
-We will use YAML.
-
-Create an empty file ``config.yml`` in the root of the project:
+Now let's add the configuration file. We will use YAML. Create an empty file ``config.yml``
+in the root of the project:
.. code-block:: bash
:emphasize-lines: 11
@@ -530,17 +522,13 @@ and install it:
pip install -r requirements.txt
-We will use environment variable ``GITHUB_TOKEN`` to provide the API token.
-
-Now we need to edit ``create_app()`` to make two things when application starts:
-
-- Load the configuration file the ``config.yml``.
-- Load the API token from the ``GITHUB_TOKEN`` environment variable.
+We will use the ``GITHUB_TOKEN`` environment variable to provide the API token. Let's edit
+``create_app()`` to fetch the token value from it.
Edit ``application.py``:
.. code-block:: python
- :emphasize-lines: 12-13
+ :emphasize-lines: 12
"""Application module."""
@@ -553,12 +541,11 @@ Edit ``application.py``:
def create_app() -> Flask:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.github.auth_token.from_env('GITHUB_TOKEN')
+ container.config.github.auth_token.from_env("GITHUB_TOKEN")
app = Flask(__name__)
app.container = container
- app.add_url_rule('/', 'index', views.index)
+ app.add_url_rule("/", "index", views.index)
bootstrap = Bootstrap()
bootstrap.init_app(app)
@@ -639,7 +626,7 @@ and put next into it:
"""Search for repositories and return formatted data."""
repositories = self._github_client.search_repositories(
query=query,
- **{'in': 'name'},
+ **{"in": "name"},
)
return [
self._format_repo(repository)
@@ -649,22 +636,22 @@ and put next into it:
def _format_repo(self, repository: Repository):
commits = repository.get_commits()
return {
- 'url': repository.html_url,
- 'name': repository.name,
- 'owner': {
- 'login': repository.owner.login,
- 'url': repository.owner.html_url,
- 'avatar_url': repository.owner.avatar_url,
+ "url": repository.html_url,
+ "name": repository.name,
+ "owner": {
+ "login": repository.owner.login,
+ "url": repository.owner.html_url,
+ "avatar_url": repository.owner.avatar_url,
},
- 'latest_commit': self._format_commit(commits[0]) if commits else {},
+ "latest_commit": self._format_commit(commits[0]) if commits else {},
}
def _format_commit(self, commit: Commit):
return {
- 'sha': commit.sha,
- 'url': commit.html_url,
- 'message': commit.commit.message,
- 'author_name': commit.commit.author.name,
+ "sha": commit.sha,
+ "url": commit.html_url,
+ "message": commit.commit.message,
+ "author_name": commit.commit.author.name,
}
Now let's add ``SearchService`` to the container.
@@ -684,7 +671,7 @@ Edit ``containers.py``:
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
github_client = providers.Factory(
Github,
@@ -720,50 +707,51 @@ Edit ``views.py``:
@inject
def index(search_service: SearchService = Provide[Container.search_service]):
- query = request.args.get('query', 'Dependency Injector')
- limit = request.args.get('limit', 10, int)
+ query = request.args.get("query", "Dependency Injector")
+ limit = request.args.get("limit", 10, int)
repositories = search_service.search_repositories(query, limit)
return render_template(
- 'index.html',
+ "index.html",
query=query,
limit=limit,
repositories=repositories,
)
-To make the injection work we need to wire the container instance with the ``views`` module.
-This needs to be done once. After it's done we can use ``Provide`` markers to specify as many
-injections as needed for any view.
+To make the injection work we need to wire the container with the ``views`` module.
+Let's configure the container to automatically make wiring with the ``views`` module when we
+create a container instance.
-Edit ``application.py``:
+Edit ``containers.py``:
.. code-block:: python
- :emphasize-lines: 14
+ :emphasize-lines: 11
- """Application module."""
+ """Containers module."""
- from flask import Flask
- from flask_bootstrap import Bootstrap
+ from dependency_injector import containers, providers
+ from github import Github
- from .containers import Container
- from . import views
+ from . import services
- def create_app() -> Flask:
- container = Container()
- container.config.from_yaml('config.yml')
- container.config.github.auth_token.from_env('GITHUB_TOKEN')
- container.wire(modules=[views])
+ class Container(containers.DeclarativeContainer):
- app = Flask(__name__)
- app.container = container
- app.add_url_rule('/', 'index', views.index)
+ wiring_config = containers.WiringConfiguration(modules=[".views"])
- bootstrap = Bootstrap()
- bootstrap.init_app(app)
+ config = providers.Configuration(yaml_files=["config.yml"])
- return app
+ github_client = providers.Factory(
+ Github,
+ login_or_token=config.github.auth_token,
+ timeout=config.github.request_timeout,
+ )
+
+ search_service = providers.Factory(
+ services.SearchService,
+ github_client=github_client,
+ )
Make sure the app is running or use ``flask run`` and open ``http://127.0.0.1:5000/``.
@@ -801,13 +789,13 @@ Edit ``views.py``:
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
):
- query = request.args.get('query', default_query)
- limit = request.args.get('limit', default_limit, int)
+ query = request.args.get("query", default_query)
+ limit = request.args.get("limit", default_limit, int)
repositories = search_service.search_repositories(query, limit)
return render_template(
- 'index.html',
+ "index.html",
query=query,
limit=limit,
repositories=repositories,
@@ -900,44 +888,44 @@ and put next into it:
github_client_mock = mock.Mock(spec=Github)
github_client_mock.search_repositories.return_value = [
mock.Mock(
- html_url='repo1-url',
- name='repo1-name',
+ html_url="repo1-url",
+ name="repo1-name",
owner=mock.Mock(
- login='owner1-login',
- html_url='owner1-url',
- avatar_url='owner1-avatar-url',
+ login="owner1-login",
+ html_url="owner1-url",
+ avatar_url="owner1-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
mock.Mock(
- html_url='repo2-url',
- name='repo2-name',
+ html_url="repo2-url",
+ name="repo2-name",
owner=mock.Mock(
- login='owner2-login',
- html_url='owner2-url',
- avatar_url='owner2-avatar-url',
+ login="owner2-login",
+ html_url="owner2-url",
+ avatar_url="owner2-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
]
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('index'))
+ response = client.get(url_for("index"))
assert response.status_code == 200
- assert b'Results found: 2' in response.data
+ assert b"Results found: 2" in response.data
- assert b'repo1-url' in response.data
- assert b'repo1-name' in response.data
- assert b'owner1-login' in response.data
- assert b'owner1-url' in response.data
- assert b'owner1-avatar-url' in response.data
+ assert b"repo1-url" in response.data
+ assert b"repo1-name" in response.data
+ assert b"owner1-login" in response.data
+ assert b"owner1-url" in response.data
+ assert b"owner1-avatar-url" in response.data
- assert b'repo2-url' in response.data
- assert b'repo2-name' in response.data
- assert b'owner2-login' in response.data
- assert b'owner2-url' in response.data
- assert b'owner2-avatar-url' in response.data
+ assert b"repo2-url" in response.data
+ assert b"repo2-name" in response.data
+ assert b"owner2-login" in response.data
+ assert b"owner2-url" in response.data
+ assert b"owner2-avatar-url" in response.data
def test_index_no_results(client, app):
@@ -945,10 +933,10 @@ and put next into it:
github_client_mock.search_repositories.return_value = []
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('index'))
+ response = client.get(url_for("index"))
assert response.status_code == 200
- assert b'Results found: 0' in response.data
+ assert b"Results found: 0" in response.data
Now let's run it and check the coverage:
@@ -960,23 +948,23 @@ You should see:
.. code-block:: bash
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: flask-1.0.0, cov-2.10.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: cov-3.0.0, flask-1.2.0
collected 2 items
githubnavigator/tests.py .. [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
----------------------------------------------------
githubnavigator/__init__.py 0 0 100%
- githubnavigator/application.py 15 0 100%
- githubnavigator/containers.py 7 0 100%
+ githubnavigator/application.py 13 0 100%
+ githubnavigator/containers.py 8 0 100%
githubnavigator/services.py 14 0 100%
githubnavigator/tests.py 34 0 100%
githubnavigator/views.py 10 0 100%
----------------------------------------------------
- TOTAL 80 0 100%
+ TOTAL 79 0 100%
.. note::
diff --git a/docs/wiring.rst b/docs/wiring.rst
index 58deeae5..924f9f76 100644
--- a/docs/wiring.rst
+++ b/docs/wiring.rst
@@ -95,17 +95,17 @@ Also you can use ``Provide`` marker to inject a container.
.. literalinclude:: ../examples/wiring/example_container.py
:language: python
- :emphasize-lines: 16-19
+ :emphasize-lines: 14-17
:lines: 3-
-Strings identifiers
--------------------
+String identifiers
+------------------
You can use wiring with string identifiers. String identifier should match provider name in the container:
.. literalinclude:: ../examples/wiring/example_string_id.py
:language: python
- :emphasize-lines: 17
+ :emphasize-lines: 15
:lines: 3-
With string identifiers you don't need to use a container to specify an injection.
@@ -115,7 +115,7 @@ To specify an injection from a nested container use point ``.`` as a separator:
.. code-block:: python
@inject
- def foo(service: UserService = Provide['services.user']) -> None:
+ def foo(service: UserService = Provide["services.user"]) -> None:
...
You can also use injection modifiers:
@@ -135,34 +135,34 @@ You can also use injection modifiers:
@inject
- def foo(value: int = Provide['config.option', as_int()]) -> None:
+ def foo(value: int = Provide["config.option", as_int()]) -> None:
...
@inject
- def foo(value: float = Provide['config.option', as_float()]) -> None:
+ def foo(value: float = Provide["config.option", as_float()]) -> None:
...
@inject
- def foo(value: Decimal = Provide['config.option', as_(Decimal)]) -> None:
+ def foo(value: Decimal = Provide["config.option", as_(Decimal)]) -> None:
...
@inject
- def foo(value: str = Provide['config.option', required()]) -> None:
+ def foo(value: str = Provide["config.option", required()]) -> None:
...
@inject
- def foo(value: int = Provide['config.option', required().as_int()]) -> None:
+ def foo(value: int = Provide["config.option", required().as_int()]) -> None:
...
@inject
- def foo(value: int = Provide['config.option', invariant('config.switch')]) -> None:
+ def foo(value: int = Provide["config.option", invariant("config.switch")]) -> None:
...
@inject
- def foo(value: int = Provide['service', provided().foo['bar'].call()]) -> None:
+ def foo(value: int = Provide["service", provided().foo["bar"].call()]) -> None:
...
@@ -171,7 +171,7 @@ To inject a container use special identifier ````:
.. code-block:: python
@inject
- def foo(container: Container = Provide['']) -> None:
+ def foo(container: Container = Provide[""]) -> None:
...
@@ -183,25 +183,63 @@ You can use wiring to make injections into modules and class attributes.
.. literalinclude:: ../examples/wiring/example_attribute.py
:language: python
:lines: 3-
- :emphasize-lines: 16,21
+ :emphasize-lines: 14,19
You could also use string identifiers to avoid a dependency on a container:
.. code-block:: python
:emphasize-lines: 1,6
- service: Service = Provide['service']
+ service: Service = Provide["service"]
class Main:
- service: Service = Provide['service']
+ service: Service = Provide["service"]
Wiring with modules and packages
--------------------------------
-To wire a container with a module you need to call ``container.wire(modules=[...])`` method. Argument
-``modules`` is an iterable of the module objects.
+To wire a container with the modules you need to call ``container.wire()`` method:
+
+.. code-block:: python
+
+ container.wire(
+ modules=[
+ "yourapp.module1",
+ "yourapp.module2",
+ ],
+ )
+
+Method ``container.wire()`` can resolve relative imports:
+
+.. code-block:: python
+
+ # In module "yourapp.main":
+
+ container.wire(
+ modules=[
+ ".module1", # Resolved to: "yourapp.module1"
+ ".module2", # Resolved to: "yourapp.module2"
+ ],
+ )
+
+You can also manually specify a base package for resolving relative imports with
+the ``from_package`` argument:
+
+.. code-block:: python
+
+ # In module "yourapp.main":
+
+ container.wire(
+ modules=[
+ ".module1", # Resolved to: "anotherapp.module1"
+ ".module2", # Resolved to: "anotherapp.module2"
+ ],
+ from_package="anotherapp",
+ )
+
+Argument ``modules`` can also take already imported modules:
.. code-block:: python
@@ -211,15 +249,16 @@ To wire a container with a module you need to call ``container.wire(modules=[...
container = Container()
container.wire(modules=[module1, module2])
-You can wire container with a package. Container walks recursively over package modules.
+You can wire container with a package. Container walks recursively over the package modules:
.. code-block:: python
- from yourapp import package1, package2
-
-
- container = Container()
- container.wire(packages=[package1, package2])
+ container.wire(
+ packages=[
+ "yourapp.package1",
+ "yourapp.package2",
+ ],
+ )
Arguments ``modules`` and ``packages`` can be used together.
@@ -233,7 +272,7 @@ When wiring is done functions and methods with the markers are patched to provid
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
foo() # <--- Argument "bar" is injected
@@ -267,7 +306,7 @@ You can use that in testing to re-create and re-wire a container before each tes
def setUp(self):
self.container = Container()
- self.container.wire(modules=[module1, module2])
+ self.container.wire(modules=["yourapp.module1", "yourapp.module2"])
self.addCleanup(self.container.unwire)
.. code-block:: python
@@ -278,7 +317,7 @@ You can use that in testing to re-create and re-wire a container before each tes
@pytest.fixture
def container():
container = Container()
- container.wire(modules=[module1, module2])
+ container.wire(modules=["yourapp.module1", "yourapp.module2"])
yield container
container.unwire()
@@ -309,6 +348,76 @@ You can use that in testing to re-create and re-wire a container before each tes
module.fn()
+Wiring configuration
+--------------------
+
+You can specify wiring configuration in the container. When wiring configuration is defined,
+container will call method ``.wire()`` automatically when you create an instance:
+
+.. code-block:: python
+
+ class Container(containers.DeclarativeContainer):
+
+ wiring_config = containers.WiringConfiguration(
+ modules=[
+ "yourapp.module1",
+ "yourapp.module2",
+ ],
+ packages=[
+ "yourapp.package1",
+ "yourapp.package2",
+ ],
+ )
+
+ ...
+
+
+ if __name__ == "__main__":
+ container = Container() # container.wire() is called automatically
+ ...
+
+You can also use relative imports. Container will resolve them corresponding
+to the module of the container class:
+
+.. code-block:: python
+
+ # In module "yourapp.container":
+
+ class Container(containers.DeclarativeContainer):
+
+ wiring_config = containers.WiringConfiguration(
+ modules=[
+ ".module1", # Resolved to: "yourapp.module1"
+ ".module2", # Resolved to: "yourapp.module2"
+ ],
+ )
+ )
+
+
+ # In module "yourapp.foo.bar.main":
+
+ if __name__ == "__main__":
+ container = Container() # wire to "yourapp.module1" and "yourapp.module2"
+ ...
+
+To use wiring configuration and call method ``.wire()`` manually, set flag ``auto_wire=False``:
+
+.. code-block:: python
+ :emphasize-lines: 5
+
+ class Container(containers.DeclarativeContainer):
+
+ wiring_config = containers.WiringConfiguration(
+ modules=["yourapp.module1"],
+ auto_wire=False,
+ )
+
+
+ if __name__ == "__main__":
+ container = Container() # container.wire() is NOT called automatically
+ container.wire() # wire to "yourapp.module1"
+ ...
+
.. _async-injections-wiring:
Asynchronous injections
@@ -402,11 +511,11 @@ This is useful when you import modules dynamically.
from .containers import Container
- if __name__ == '__main__':
+ if __name__ == "__main__":
container = Container()
register_loader_containers(container) # <--- installs import hook
- module = importlib.import_module('package.module')
+ module = importlib.import_module("package.module")
module.foo()
You can register multiple containers in the import hook. For doing this call register function
diff --git a/examples/containers/check_dependencies.py b/examples/containers/check_dependencies.py
index f9d1bac2..24b3b88e 100644
--- a/examples/containers/check_dependencies.py
+++ b/examples/containers/check_dependencies.py
@@ -9,7 +9,7 @@ class Container(containers.DeclarativeContainer):
service2 = providers.Dependency()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.check_dependencies() # <-- raises error:
# Container has undefined dependencies: "Container.service1", "Container.service2"
diff --git a/examples/containers/declarative.py b/examples/containers/declarative.py
index 4fb7d795..21a43174 100644
--- a/examples/containers/declarative.py
+++ b/examples/containers/declarative.py
@@ -10,7 +10,7 @@ class Container(containers.DeclarativeContainer):
factory2 = providers.Factory(object)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
object1 = container.factory1()
@@ -18,6 +18,6 @@ if __name__ == '__main__':
print(container.providers)
# {
- # 'factory1':
- # ) at 0x10d3a2820>
+ #
+ # ) at 0x10d3a2820>
# ) at 0x10d346b40>
- #
+ #
# ) at 0x10d346bc0>
- #
+ #
diff --git a/examples/demo/after.py b/examples/demo/after.py
index 1e8570c6..92240644 100644
--- a/examples/demo/after.py
+++ b/examples/demo/after.py
@@ -18,12 +18,12 @@ def main(service: Service): # <-- dependency is injected
...
-if __name__ == '__main__':
+if __name__ == "__main__":
main(
service=Service(
api_client=ApiClient(
- api_key=os.getenv('API_KEY'),
- timeout=os.getenv('TIMEOUT'),
+ api_key=os.getenv("API_KEY"),
+ timeout=os.getenv("TIMEOUT"),
),
),
)
diff --git a/examples/demo/before.py b/examples/demo/before.py
index 832d4863..b7ca479b 100644
--- a/examples/demo/before.py
+++ b/examples/demo/before.py
@@ -4,8 +4,8 @@ import os
class ApiClient:
def __init__(self):
- self.api_key = os.getenv('API_KEY') # <-- dependency
- self.timeout = os.getenv('TIMEOUT') # <-- dependency
+ self.api_key = os.getenv("API_KEY") # <-- dependency
+ self.timeout = os.getenv("TIMEOUT") # <-- dependency
class Service:
@@ -19,5 +19,5 @@ def main() -> None:
...
-if __name__ == '__main__':
+if __name__ == "__main__":
main()
diff --git a/examples/demo/with_di.py b/examples/demo/with_di.py
index 094fdf52..9cb51e16 100644
--- a/examples/demo/with_di.py
+++ b/examples/demo/with_di.py
@@ -1,8 +1,7 @@
-import sys
from unittest import mock
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from after import ApiClient, Service
@@ -28,11 +27,11 @@ def main(service: Service = Provide[Container.service]):
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.api_key.from_env('API_KEY')
- container.config.timeout.from_env('TIMEOUT')
- container.wire(modules=[sys.modules[__name__]])
+ container.config.api_key.from_env("API_KEY")
+ container.config.timeout.from_env("TIMEOUT")
+ container.wire(modules=[__name__])
main() # <-- dependency is injected automatically
diff --git a/examples/miniapps/aiohttp/README.rst b/examples/miniapps/aiohttp/README.rst
index 9341e5c3..10464017 100644
--- a/examples/miniapps/aiohttp/README.rst
+++ b/examples/miniapps/aiohttp/README.rst
@@ -27,16 +27,16 @@ To run the application do:
.. code-block:: bash
export GIPHY_API_KEY=wBJ2wZG7SRqfrU9nPgPiWvORmloDyuL0
- adev runserver giphynavigator/application.py --livereload
+ python -m giphynavigator.application
The output should be something like:
.. code-block::
- [18:52:59] Starting aux server at http://localhost:8001 β
- [18:52:59] Starting dev server at http://localhost:8000 β
+ ======== Running on http://0.0.0.0:8080 ========
+ (Press CTRL+C to quit)
-After that visit http://127.0.0.1:8000/ in your browser or use CLI command (``curl``, ``httpie``,
+After that visit http://0.0.0.0:8080/ in your browser or use CLI command (``curl``, ``httpie``,
etc). You should see something like:
.. code-block:: json
@@ -98,21 +98,21 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0, aiohttp-0.3.0, asyncio-0.14.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: asyncio-0.16.0, anyio-3.3.4, aiohttp-0.3.0, cov-3.0.0
collected 3 items
giphynavigator/tests.py ... [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
---------------------------------------------------
giphynavigator/__init__.py 0 0 100%
- giphynavigator/application.py 12 0 100%
- giphynavigator/containers.py 6 0 100%
+ giphynavigator/application.py 13 2 85%
+ giphynavigator/containers.py 7 0 100%
giphynavigator/giphy.py 14 9 36%
giphynavigator/handlers.py 10 0 100%
giphynavigator/services.py 9 1 89%
giphynavigator/tests.py 37 0 100%
---------------------------------------------------
- TOTAL 88 10 89%
+ TOTAL 90 12 87%
diff --git a/examples/miniapps/aiohttp/giphynavigator/application.py b/examples/miniapps/aiohttp/giphynavigator/application.py
index 848435fb..3ad404cf 100644
--- a/examples/miniapps/aiohttp/giphynavigator/application.py
+++ b/examples/miniapps/aiohttp/giphynavigator/application.py
@@ -8,13 +8,16 @@ from . import handlers
def create_app() -> web.Application:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.giphy.api_key.from_env('GIPHY_API_KEY')
- container.wire(modules=[handlers])
+ container.config.giphy.api_key.from_env("GIPHY_API_KEY")
app = web.Application()
app.container = container
app.add_routes([
- web.get('/', handlers.index),
+ web.get("/", handlers.index),
])
return app
+
+
+if __name__ == "__main__":
+ app = create_app()
+ web.run_app(app)
diff --git a/examples/miniapps/aiohttp/giphynavigator/containers.py b/examples/miniapps/aiohttp/giphynavigator/containers.py
index 730c162e..19dc5de7 100644
--- a/examples/miniapps/aiohttp/giphynavigator/containers.py
+++ b/examples/miniapps/aiohttp/giphynavigator/containers.py
@@ -7,7 +7,9 @@ from . import giphy, services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(modules=[".handlers"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
giphy_client = providers.Factory(
giphy.GiphyClient,
diff --git a/examples/miniapps/aiohttp/giphynavigator/giphy.py b/examples/miniapps/aiohttp/giphynavigator/giphy.py
index 22a5f6a4..bab017c5 100644
--- a/examples/miniapps/aiohttp/giphynavigator/giphy.py
+++ b/examples/miniapps/aiohttp/giphynavigator/giphy.py
@@ -5,7 +5,7 @@ from aiohttp import ClientSession, ClientTimeout
class GiphyClient:
- API_URL = 'https://api.giphy.com/v1'
+ API_URL = "https://api.giphy.com/v1"
def __init__(self, api_key, timeout):
self._api_key = api_key
@@ -13,11 +13,11 @@ class GiphyClient:
async def search(self, query, limit):
"""Make search API call and return result."""
- url = f'{self.API_URL}/gifs/search'
+ url = f"{self.API_URL}/gifs/search"
params = {
- 'q': query,
- 'api_key': self._api_key,
- 'limit': limit,
+ "q": query,
+ "api_key": self._api_key,
+ "limit": limit,
}
async with ClientSession(timeout=self._timeout) as session:
async with session.get(url, params=params) as response:
diff --git a/examples/miniapps/aiohttp/giphynavigator/handlers.py b/examples/miniapps/aiohttp/giphynavigator/handlers.py
index 5a829e82..b4853b32 100644
--- a/examples/miniapps/aiohttp/giphynavigator/handlers.py
+++ b/examples/miniapps/aiohttp/giphynavigator/handlers.py
@@ -14,15 +14,15 @@ async def index(
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
) -> web.Response:
- query = request.query.get('query', default_query)
- limit = int(request.query.get('limit', default_limit))
+ query = request.query.get("query", default_query)
+ limit = int(request.query.get("limit", default_limit))
gifs = await search_service.search(query, limit)
return web.json_response(
{
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
},
)
diff --git a/examples/miniapps/aiohttp/giphynavigator/services.py b/examples/miniapps/aiohttp/giphynavigator/services.py
index 1c86e0d7..1ee6eb64 100644
--- a/examples/miniapps/aiohttp/giphynavigator/services.py
+++ b/examples/miniapps/aiohttp/giphynavigator/services.py
@@ -15,4 +15,4 @@ class SearchService:
result = await self._giphy_client.search(query, limit)
- return [{'url': gif['url']} for gif in result['data']]
+ return [{"url": gif["url"]} for gif in result["data"]]
diff --git a/examples/miniapps/aiohttp/giphynavigator/tests.py b/examples/miniapps/aiohttp/giphynavigator/tests.py
index 7f9046e6..84eddc60 100644
--- a/examples/miniapps/aiohttp/giphynavigator/tests.py
+++ b/examples/miniapps/aiohttp/giphynavigator/tests.py
@@ -23,29 +23,29 @@ def client(app, aiohttp_client, loop):
async def test_index(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "data": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
with app.container.giphy_client.override(giphy_client_mock):
response = await client.get(
- '/',
+ "/",
params={
- 'query': 'test',
- 'limit': 10,
+ "query": "test",
+ "limit": 10,
},
)
assert response.status == 200
data = await response.json()
assert data == {
- 'query': 'test',
- 'limit': 10,
- 'gifs': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "query": "test",
+ "limit": 10,
+ "gifs": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
@@ -53,27 +53,27 @@ async def test_index(client, app):
async def test_index_no_data(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status == 200
data = await response.json()
- assert data['gifs'] == []
+ assert data["gifs"] == []
async def test_index_default_params(client, app):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status == 200
data = await response.json()
- assert data['query'] == app.container.config.default.query()
- assert data['limit'] == app.container.config.default.limit()
+ assert data["query"] == app.container.config.default.query()
+ assert data["limit"] == app.container.config.default.limit()
diff --git a/examples/miniapps/aiohttp/requirements.txt b/examples/miniapps/aiohttp/requirements.txt
index e849f0dc..e84f6b89 100644
--- a/examples/miniapps/aiohttp/requirements.txt
+++ b/examples/miniapps/aiohttp/requirements.txt
@@ -1,6 +1,5 @@
dependency-injector
aiohttp
-aiohttp-devtools
pyyaml
pytest-aiohttp
pytest-cov
diff --git a/examples/miniapps/application-multiple-containers-runtime-overriding/example/__main__.py b/examples/miniapps/application-multiple-containers-runtime-overriding/example/__main__.py
index 2175884b..96b019f1 100644
--- a/examples/miniapps/application-multiple-containers-runtime-overriding/example/__main__.py
+++ b/examples/miniapps/application-multiple-containers-runtime-overriding/example/__main__.py
@@ -3,7 +3,7 @@
from .containers import Application
-if __name__ == '__main__':
+if __name__ == "__main__":
application = Application()
config = application.service.config()
config.build()
diff --git a/examples/miniapps/application-multiple-containers-runtime-overriding/example/containers.py b/examples/miniapps/application-multiple-containers-runtime-overriding/example/containers.py
index 35ec4035..ae29d4ff 100644
--- a/examples/miniapps/application-multiple-containers-runtime-overriding/example/containers.py
+++ b/examples/miniapps/application-multiple-containers-runtime-overriding/example/containers.py
@@ -6,17 +6,17 @@ from .services import ConfigService
class Core(containers.DeclarativeContainer):
- config = providers.Configuration('config')
+ config = providers.Configuration("config")
class Storage(containers.DeclarativeContainer):
- queue = providers.Singleton(lambda: 'Some storage')
+ queue = providers.Singleton(lambda: "Some storage")
class Adapter(containers.DeclarativeContainer):
core = providers.DependenciesContainer(config=providers.Configuration())
tinydb = providers.Singleton(
- lambda db_path: f'DB Path=[{db_path}]',
+ lambda db_path: f"DB Path=[{db_path}]",
db_path=core.config.default.db_path,
)
@@ -25,7 +25,7 @@ class Repository(containers.DeclarativeContainer):
adapter = providers.DependenciesContainer()
storage = providers.DependenciesContainer()
site = providers.Singleton(
- lambda adapter, queue: f'Adapter=[{adapter}], queue=[{queue}]',
+ lambda adapter, queue: f"Adapter=[{adapter}], queue=[{queue}]",
adapter=adapter.tinydb,
queue=storage.queue,
)
diff --git a/examples/miniapps/application-multiple-containers-runtime-overriding/example/services.py b/examples/miniapps/application-multiple-containers-runtime-overriding/example/services.py
index e0901e13..f791ba54 100644
--- a/examples/miniapps/application-multiple-containers-runtime-overriding/example/services.py
+++ b/examples/miniapps/application-multiple-containers-runtime-overriding/example/services.py
@@ -6,4 +6,4 @@ class ConfigService:
self._config = config
def build(self):
- self._config.from_dict({'default': {'db_path': '~/test'}})
+ self._config.from_dict({"default": {"db_path": "~/test"}})
diff --git a/examples/miniapps/application-multiple-containers/example/__main__.py b/examples/miniapps/application-multiple-containers/example/__main__.py
index 86396b6f..d28eecdc 100644
--- a/examples/miniapps/application-multiple-containers/example/__main__.py
+++ b/examples/miniapps/application-multiple-containers/example/__main__.py
@@ -2,7 +2,7 @@
import sys
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from .services import UserService, AuthService, PhotoService
from .containers import Application
@@ -22,10 +22,9 @@ def main(
photo_service.upload_photo(user, photo)
-if __name__ == '__main__':
+if __name__ == "__main__":
application = Application()
- application.config.from_yaml('config.yml')
application.core.init_resources()
- application.wire(modules=[sys.modules[__name__]])
+ application.wire(modules=[__name__])
main(*sys.argv[1:])
diff --git a/examples/miniapps/application-multiple-containers/example/containers.py b/examples/miniapps/application-multiple-containers/example/containers.py
index df56129c..a29d955a 100644
--- a/examples/miniapps/application-multiple-containers/example/containers.py
+++ b/examples/miniapps/application-multiple-containers/example/containers.py
@@ -30,7 +30,7 @@ class Gateways(containers.DeclarativeContainer):
s3_client = providers.Singleton(
boto3.client,
- service_name='s3',
+ service_name="s3",
aws_access_key_id=config.aws.access_key_id,
aws_secret_access_key=config.aws.secret_access_key,
)
@@ -61,7 +61,7 @@ class Services(containers.DeclarativeContainer):
class Application(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
core = providers.Container(
Core,
diff --git a/examples/miniapps/application-multiple-containers/example/services.py b/examples/miniapps/application-multiple-containers/example/services.py
index 338888e3..7f2013c3 100644
--- a/examples/miniapps/application-multiple-containers/example/services.py
+++ b/examples/miniapps/application-multiple-containers/example/services.py
@@ -11,7 +11,7 @@ class BaseService:
def __init__(self) -> None:
self.logger = logging.getLogger(
- f'{__name__}.{self.__class__.__name__}',
+ f"{__name__}.{self.__class__.__name__}",
)
@@ -22,8 +22,8 @@ class UserService(BaseService):
super().__init__()
def get_user(self, email: str) -> Dict[str, str]:
- self.logger.debug('User %s has been found in database', email)
- return {'email': email, 'password_hash': '...'}
+ self.logger.debug("User %s has been found in database", email)
+ return {"email": email, "password_hash": "..."}
class AuthService(BaseService):
@@ -36,8 +36,8 @@ class AuthService(BaseService):
def authenticate(self, user: Dict[str, str], password: str) -> None:
assert password is not None
self.logger.debug(
- 'User %s has been successfully authenticated',
- user['email'],
+ "User %s has been successfully authenticated",
+ user["email"],
)
@@ -50,7 +50,7 @@ class PhotoService(BaseService):
def upload_photo(self, user: Dict[str, str], photo_path: str) -> None:
self.logger.debug(
- 'Photo %s has been successfully uploaded by user %s',
+ "Photo %s has been successfully uploaded by user %s",
photo_path,
- user['email'],
+ user["email"],
)
diff --git a/examples/miniapps/application-single-container/example/__main__.py b/examples/miniapps/application-single-container/example/__main__.py
index 87ccf715..848d9cc4 100644
--- a/examples/miniapps/application-single-container/example/__main__.py
+++ b/examples/miniapps/application-single-container/example/__main__.py
@@ -2,7 +2,7 @@
import sys
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from .services import UserService, AuthService, PhotoService
from .containers import Container
@@ -22,10 +22,9 @@ def main(
photo_service.upload_photo(user, photo)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.init_resources()
- container.config.from_ini('config.ini')
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main(*sys.argv[1:])
diff --git a/examples/miniapps/application-single-container/example/containers.py b/examples/miniapps/application-single-container/example/containers.py
index 7303b0f4..1bf8cca0 100644
--- a/examples/miniapps/application-single-container/example/containers.py
+++ b/examples/miniapps/application-single-container/example/containers.py
@@ -11,11 +11,11 @@ from . import services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(ini_files=["config.ini"])
logging = providers.Resource(
logging.config.fileConfig,
- fname='logging.ini',
+ fname="logging.ini",
)
# Gateways
@@ -27,7 +27,7 @@ class Container(containers.DeclarativeContainer):
s3_client = providers.Singleton(
boto3.client,
- service_name='s3',
+ service_name="s3",
aws_access_key_id=config.aws.access_key_id,
aws_secret_access_key=config.aws.secret_access_key,
)
diff --git a/examples/miniapps/application-single-container/example/services.py b/examples/miniapps/application-single-container/example/services.py
index 338888e3..7f2013c3 100644
--- a/examples/miniapps/application-single-container/example/services.py
+++ b/examples/miniapps/application-single-container/example/services.py
@@ -11,7 +11,7 @@ class BaseService:
def __init__(self) -> None:
self.logger = logging.getLogger(
- f'{__name__}.{self.__class__.__name__}',
+ f"{__name__}.{self.__class__.__name__}",
)
@@ -22,8 +22,8 @@ class UserService(BaseService):
super().__init__()
def get_user(self, email: str) -> Dict[str, str]:
- self.logger.debug('User %s has been found in database', email)
- return {'email': email, 'password_hash': '...'}
+ self.logger.debug("User %s has been found in database", email)
+ return {"email": email, "password_hash": "..."}
class AuthService(BaseService):
@@ -36,8 +36,8 @@ class AuthService(BaseService):
def authenticate(self, user: Dict[str, str], password: str) -> None:
assert password is not None
self.logger.debug(
- 'User %s has been successfully authenticated',
- user['email'],
+ "User %s has been successfully authenticated",
+ user["email"],
)
@@ -50,7 +50,7 @@ class PhotoService(BaseService):
def upload_photo(self, user: Dict[str, str], photo_path: str) -> None:
self.logger.debug(
- 'Photo %s has been successfully uploaded by user %s',
+ "Photo %s has been successfully uploaded by user %s",
photo_path,
- user['email'],
+ user["email"],
)
diff --git a/examples/miniapps/asyncio-daemon/Dockerfile b/examples/miniapps/asyncio-daemon/Dockerfile
index c4bc7012..accf7ae0 100644
--- a/examples/miniapps/asyncio-daemon/Dockerfile
+++ b/examples/miniapps/asyncio-daemon/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.8-buster
+FROM python:3.10-buster
ENV PYTHONUNBUFFERED=1
diff --git a/examples/miniapps/asyncio-daemon/README.rst b/examples/miniapps/asyncio-daemon/README.rst
index b6a45c79..83848bd0 100644
--- a/examples/miniapps/asyncio-daemon/README.rst
+++ b/examples/miniapps/asyncio-daemon/README.rst
@@ -65,22 +65,22 @@ The output should be something like:
.. code-block::
- platform linux -- Python 3.8.3, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
+ platform linux -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: /code
- plugins: asyncio-0.14.0, cov-2.10.0
+ plugins: asyncio-0.16.0, cov-3.0.0
collected 2 items
monitoringdaemon/tests.py .. [100%]
- ----------- coverage: platform linux, python 3.8.3-final-0 -----------
+ ---------- coverage: platform linux, python 3.10.0-final-0 -----------
Name Stmts Miss Cover
----------------------------------------------------
monitoringdaemon/__init__.py 0 0 100%
- monitoringdaemon/__main__.py 13 13 0%
+ monitoringdaemon/__main__.py 11 11 0%
monitoringdaemon/containers.py 11 0 100%
- monitoringdaemon/dispatcher.py 44 5 89%
+ monitoringdaemon/dispatcher.py 45 5 89%
monitoringdaemon/http.py 6 3 50%
monitoringdaemon/monitors.py 23 1 96%
- monitoringdaemon/tests.py 37 0 100%
+ monitoringdaemon/tests.py 35 0 100%
----------------------------------------------------
- TOTAL 134 22 84%
+ TOTAL 131 20 85%
diff --git a/examples/miniapps/asyncio-daemon/monitoringdaemon/__main__.py b/examples/miniapps/asyncio-daemon/monitoringdaemon/__main__.py
index c15757ad..829bee05 100644
--- a/examples/miniapps/asyncio-daemon/monitoringdaemon/__main__.py
+++ b/examples/miniapps/asyncio-daemon/monitoringdaemon/__main__.py
@@ -1,7 +1,5 @@
"""Main module."""
-import sys
-
from dependency_injector.wiring import inject, Provide
from .dispatcher import Dispatcher
@@ -13,10 +11,9 @@ def main(dispatcher: Dispatcher = Provide[Container.dispatcher]) -> None:
dispatcher.run()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
container.init_resources()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
diff --git a/examples/miniapps/asyncio-daemon/monitoringdaemon/containers.py b/examples/miniapps/asyncio-daemon/monitoringdaemon/containers.py
index cfcb3be5..ef3ca1dd 100644
--- a/examples/miniapps/asyncio-daemon/monitoringdaemon/containers.py
+++ b/examples/miniapps/asyncio-daemon/monitoringdaemon/containers.py
@@ -10,7 +10,7 @@ from . import http, monitors, dispatcher
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
logging = providers.Resource(
logging.basicConfig,
diff --git a/examples/miniapps/asyncio-daemon/monitoringdaemon/dispatcher.py b/examples/miniapps/asyncio-daemon/monitoringdaemon/dispatcher.py
index e3d00118..8f3d0aad 100644
--- a/examples/miniapps/asyncio-daemon/monitoringdaemon/dispatcher.py
+++ b/examples/miniapps/asyncio-daemon/monitoringdaemon/dispatcher.py
@@ -21,7 +21,7 @@ class Dispatcher:
asyncio.run(self.start())
async def start(self) -> None:
- self._logger.info('Starting up')
+ self._logger.info("Starting up")
for monitor in self._monitors:
self._monitor_tasks.append(
@@ -41,11 +41,11 @@ class Dispatcher:
self._stopping = True
- self._logger.info('Shutting down')
+ self._logger.info("Shutting down")
for task, monitor in zip(self._monitor_tasks, self._monitors):
task.cancel()
self._monitor_tasks.clear()
- self._logger.info('Shutdown finished successfully')
+ self._logger.info("Shutdown finished successfully")
@staticmethod
async def _run_monitor(monitor: Monitor) -> None:
@@ -61,6 +61,6 @@ class Dispatcher:
except asyncio.CancelledError:
break
except Exception:
- monitor.logger.exception('Error executing monitor check')
+ monitor.logger.exception("Error executing monitor check")
await asyncio.sleep(_until_next(last=time_start))
diff --git a/examples/miniapps/asyncio-daemon/monitoringdaemon/monitors.py b/examples/miniapps/asyncio-daemon/monitoringdaemon/monitors.py
index d814ac1c..216ebcb0 100644
--- a/examples/miniapps/asyncio-daemon/monitoringdaemon/monitors.py
+++ b/examples/miniapps/asyncio-daemon/monitoringdaemon/monitors.py
@@ -25,10 +25,10 @@ class HttpMonitor(Monitor):
options: Dict[str, Any],
) -> None:
self._client = http_client
- self._method = options.pop('method')
- self._url = options.pop('url')
- self._timeout = options.pop('timeout')
- super().__init__(check_every=options.pop('check_every'))
+ self._method = options.pop("method")
+ self._url = options.pop("url")
+ self._timeout = options.pop("timeout")
+ super().__init__(check_every=options.pop("check_every"))
async def check(self) -> None:
time_start = time.time()
@@ -43,11 +43,11 @@ class HttpMonitor(Monitor):
time_took = time_end - time_start
self.logger.info(
- 'Check\n'
- ' %s %s\n'
- ' response code: %s\n'
- ' content length: %s\n'
- ' request took: %s seconds',
+ "Check\n"
+ " %s %s\n"
+ " response code: %s\n"
+ " content length: %s\n"
+ " request took: %s seconds",
self._method,
self._url,
response.status,
diff --git a/examples/miniapps/asyncio-daemon/monitoringdaemon/tests.py b/examples/miniapps/asyncio-daemon/monitoringdaemon/tests.py
index 6d118e97..87c1a545 100644
--- a/examples/miniapps/asyncio-daemon/monitoringdaemon/tests.py
+++ b/examples/miniapps/asyncio-daemon/monitoringdaemon/tests.py
@@ -17,33 +17,33 @@ class RequestStub:
@pytest.fixture
def container():
- container = Container()
- container.config.from_dict({
- 'log': {
- 'level': 'INFO',
- 'formant': '[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s',
- },
- 'monitors': {
- 'example': {
- 'method': 'GET',
- 'url': 'http://fake-example.com',
- 'timeout': 1,
- 'check_every': 1,
+ return Container(
+ config={
+ "log": {
+ "level": "INFO",
+ "formant": "[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s",
},
- 'httpbin': {
- 'method': 'GET',
- 'url': 'https://fake-httpbin.org/get',
- 'timeout': 1,
- 'check_every': 1,
+ "monitors": {
+ "example": {
+ "method": "GET",
+ "url": "http://fake-example.com",
+ "timeout": 1,
+ "check_every": 1,
+ },
+ "httpbin": {
+ "method": "GET",
+ "url": "https://fake-httpbin.org/get",
+ "timeout": 1,
+ "check_every": 1,
+ },
},
- },
- })
- return container
+ }
+ )
@pytest.mark.asyncio
async def test_example_monitor(container, caplog):
- caplog.set_level('INFO')
+ caplog.set_level("INFO")
http_client_mock = mock.AsyncMock()
http_client_mock.request.return_value = RequestStub(
@@ -55,21 +55,22 @@ async def test_example_monitor(container, caplog):
example_monitor = container.example_monitor()
await example_monitor.check()
- assert 'http://fake-example.com' in caplog.text
- assert 'response code: 200' in caplog.text
- assert 'content length: 635' in caplog.text
+ assert "http://fake-example.com" in caplog.text
+ assert "response code: 200" in caplog.text
+ assert "content length: 635" in caplog.text
@pytest.mark.asyncio
async def test_dispatcher(container, caplog, event_loop):
- caplog.set_level('INFO')
+ caplog.set_level("INFO")
example_monitor_mock = mock.AsyncMock()
httpbin_monitor_mock = mock.AsyncMock()
- with container.example_monitor.override(example_monitor_mock), \
- container.httpbin_monitor.override(httpbin_monitor_mock):
-
+ with container.override_providers(
+ example_monitor=example_monitor_mock,
+ httpbin_monitor=httpbin_monitor_mock,
+ ):
dispatcher = container.dispatcher()
event_loop.create_task(dispatcher.start())
await asyncio.sleep(0.1)
diff --git a/examples/miniapps/boto3-session/boto3_session_example.py b/examples/miniapps/boto3-session/boto3_session_example.py
index 33277513..33ed85f6 100644
--- a/examples/miniapps/boto3-session/boto3_session_example.py
+++ b/examples/miniapps/boto3-session/boto3_session_example.py
@@ -23,12 +23,12 @@ class Container(containers.DeclarativeContainer):
s3_client = providers.Resource(
session.provided.client.call(),
- service_name='s3',
+ service_name="s3",
)
sqs_client = providers.Resource(
providers.MethodCaller(session.provided.client), # Alternative syntax
- service_name='sqs',
+ service_name="sqs",
)
service1 = providers.Factory(
@@ -39,16 +39,16 @@ class Container(containers.DeclarativeContainer):
service2 = providers.Factory(
Service,
- s3_client=session.provided.client.call(service_name='s3'), # Alternative inline syntax
- sqs_client=session.provided.client.call(service_name='sqs'), # Alternative inline syntax
+ s3_client=session.provided.client.call(service_name="s3"), # Alternative inline syntax
+ sqs_client=session.provided.client.call(service_name="sqs"), # Alternative inline syntax
)
def main():
container = Container()
- container.config.aws_access_key_id.from_env('AWS_ACCESS_KEY_ID')
- container.config.aws_secret_access_key.from_env('AWS_SECRET_ACCESS_KEY')
- container.config.aws_session_token.from_env('AWS_SESSION_TOKEN')
+ container.config.aws_access_key_id.from_env("AWS_ACCESS_KEY_ID")
+ container.config.aws_secret_access_key.from_env("AWS_SECRET_ACCESS_KEY")
+ container.config.aws_session_token.from_env("AWS_SESSION_TOKEN")
container.init_resources()
s3_client = container.s3_client()
@@ -62,11 +62,11 @@ def main():
assert service1.s3_client is s3_client
assert service1.sqs_client is sqs_client
- service2 = container.service1()
+ service2 = container.service2()
print(service2, service2.s3_client, service2.sqs_client)
- assert service2.s3_client is s3_client
- assert service2.sqs_client is sqs_client
+ assert service2.s3_client.__class__.__name__ == "S3"
+ assert service2.sqs_client.__class__.__name__ == "SQS"
-if __name__ == '__main__':
+if __name__ == "__main__":
main()
diff --git a/examples/miniapps/commands-and-handlers/application/__main__.py b/examples/miniapps/commands-and-handlers/application/__main__.py
index ee7c6de3..672475f8 100644
--- a/examples/miniapps/commands-and-handlers/application/__main__.py
+++ b/examples/miniapps/commands-and-handlers/application/__main__.py
@@ -4,7 +4,7 @@ from .containers import Container
from .commands import SaveRating, DoSomethingElse
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
message_bus = container.message_bus()
diff --git a/examples/miniapps/commands-and-handlers/application/handler.py b/examples/miniapps/commands-and-handlers/application/handler.py
index 0d940801..1c26578c 100644
--- a/examples/miniapps/commands-and-handlers/application/handler.py
+++ b/examples/miniapps/commands-and-handlers/application/handler.py
@@ -8,7 +8,7 @@ class CommandHandler:
self.rating_repo = rating_repo
def save_rating(self):
- print('Saving rating')
+ print("Saving rating")
def something_else(self):
- print('Doing something else')
+ print("Doing something else")
diff --git a/examples/miniapps/decoupled-packages/example/__main__.py b/examples/miniapps/decoupled-packages/example/__main__.py
index 61804d02..11bf4202 100644
--- a/examples/miniapps/decoupled-packages/example/__main__.py
+++ b/examples/miniapps/decoupled-packages/example/__main__.py
@@ -1,8 +1,6 @@
"""Main module."""
-import sys
-
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from .user.repositories import UserRepository
from .photo.repositories import PhotoRepository
@@ -24,20 +22,19 @@ def main(
) -> None:
user1 = user_repository.get(id=1)
user1_photos = photo_repository.get_photos(user1.id)
- print(f'Retrieve user id={user1.id}, photos count={len(user1_photos)}')
+ print(f"Retrieve user id={user1.id}, photos count={len(user1_photos)}")
user2 = user_repository.get(id=2)
user2_photos = photo_repository.get_photos(user2.id)
- print(f'Retrieve user id={user2.id}, photos count={len(user2_photos)}')
+ print(f"Retrieve user id={user2.id}, photos count={len(user2_photos)}")
assert aggregation_service.user_repository is user_repository
assert aggregation_service.photo_repository is photo_repository
- print('Aggregate analytics from user and photo packages')
+ print("Aggregate analytics from user and photo packages")
-if __name__ == '__main__':
+if __name__ == "__main__":
application = ApplicationContainer()
- application.config.from_ini('config.ini')
- application.wire(modules=[sys.modules[__name__]])
+ application.wire(modules=[__name__])
main()
diff --git a/examples/miniapps/decoupled-packages/example/containers.py b/examples/miniapps/decoupled-packages/example/containers.py
index ede2bae9..5a27b416 100644
--- a/examples/miniapps/decoupled-packages/example/containers.py
+++ b/examples/miniapps/decoupled-packages/example/containers.py
@@ -12,13 +12,13 @@ from .analytics.containers import AnalyticsContainer
class ApplicationContainer(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(ini_files=["config.ini"])
sqlite = providers.Singleton(sqlite3.connect, config.database.dsn)
s3 = providers.Singleton(
boto3.client,
- service_name='s3',
+ service_name="s3",
aws_access_key_id=config.aws.access_key_id,
aws_secret_access_key=config.aws.secret_access_key,
)
diff --git a/examples/miniapps/django/README.rst b/examples/miniapps/django/README.rst
index 2ff42581..43917094 100644
--- a/examples/miniapps/django/README.rst
+++ b/examples/miniapps/django/README.rst
@@ -105,9 +105,9 @@ The output should be something like:
githubnavigator/wsgi.py 4 4 0%
manage.py 12 2 83%
web/__init__.py 0 0 100%
- web/apps.py 7 0 100%
+ web/apps.py 6 0 100%
web/tests.py 28 0 100%
web/urls.py 3 0 100%
web/views.py 12 0 100%
---------------------------------------------------
- TOTAL 121 10 92%
+ TOTAL 120 10 92%
diff --git a/examples/miniapps/django/githubnavigator/asgi.py b/examples/miniapps/django/githubnavigator/asgi.py
index b1f6edc7..9d473ae0 100644
--- a/examples/miniapps/django/githubnavigator/asgi.py
+++ b/examples/miniapps/django/githubnavigator/asgi.py
@@ -10,6 +10,6 @@ import os
from django.core.asgi import get_asgi_application
-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'githubnavigator.settings')
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "githubnavigator.settings")
application = get_asgi_application()
diff --git a/examples/miniapps/django/githubnavigator/services.py b/examples/miniapps/django/githubnavigator/services.py
index 9c6ff839..3e80a7ec 100644
--- a/examples/miniapps/django/githubnavigator/services.py
+++ b/examples/miniapps/django/githubnavigator/services.py
@@ -15,7 +15,7 @@ class SearchService:
"""Search for repositories and return formatted data."""
repositories = self._github_client.search_repositories(
query=query,
- **{'in': 'name'},
+ **{"in": "name"},
)
return [
self._format_repo(repository)
@@ -25,20 +25,20 @@ class SearchService:
def _format_repo(self, repository: Repository):
commits = repository.get_commits()
return {
- 'url': repository.html_url,
- 'name': repository.name,
- 'owner': {
- 'login': repository.owner.login,
- 'url': repository.owner.html_url,
- 'avatar_url': repository.owner.avatar_url,
+ "url": repository.html_url,
+ "name": repository.name,
+ "owner": {
+ "login": repository.owner.login,
+ "url": repository.owner.html_url,
+ "avatar_url": repository.owner.avatar_url,
},
- 'latest_commit': self._format_commit(commits[0]) if commits else {},
+ "latest_commit": self._format_commit(commits[0]) if commits else {},
}
def _format_commit(self, commit: Commit):
return {
- 'sha': commit.sha,
- 'url': commit.html_url,
- 'message': commit.commit.message,
- 'author_name': commit.commit.author.name,
+ "sha": commit.sha,
+ "url": commit.html_url,
+ "message": commit.commit.message,
+ "author_name": commit.commit.author.name,
}
diff --git a/examples/miniapps/django/githubnavigator/settings.py b/examples/miniapps/django/githubnavigator/settings.py
index 7c004048..e78900b7 100644
--- a/examples/miniapps/django/githubnavigator/settings.py
+++ b/examples/miniapps/django/githubnavigator/settings.py
@@ -20,7 +20,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
-SECRET_KEY = ')6*iyg26c9l!fvyvwd&3+vyf-dcw)e=5x2t(j)(*c29z@ykhi0'
+SECRET_KEY = ")6*iyg26c9l!fvyvwd&3+vyf-dcw)e=5x2t(j)(*c29z@ykhi0"
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
@@ -31,54 +31,54 @@ ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
- 'web.apps.WebConfig',
- 'bootstrap4',
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
+ "web.apps.WebConfig",
+ "bootstrap4",
+ "django.contrib.admin",
+ "django.contrib.auth",
+ "django.contrib.contenttypes",
+ "django.contrib.sessions",
+ "django.contrib.messages",
+ "django.contrib.staticfiles",
]
MIDDLEWARE = [
- 'django.middleware.security.SecurityMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ "django.middleware.security.SecurityMiddleware",
+ "django.contrib.sessions.middleware.SessionMiddleware",
+ "django.middleware.common.CommonMiddleware",
+ "django.middleware.csrf.CsrfViewMiddleware",
+ "django.contrib.auth.middleware.AuthenticationMiddleware",
+ "django.contrib.messages.middleware.MessageMiddleware",
+ "django.middleware.clickjacking.XFrameOptionsMiddleware",
]
-ROOT_URLCONF = 'githubnavigator.urls'
+ROOT_URLCONF = "githubnavigator.urls"
TEMPLATES = [
{
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [],
- 'APP_DIRS': True,
- 'OPTIONS': {
- 'context_processors': [
- 'django.template.context_processors.debug',
- 'django.template.context_processors.request',
- 'django.contrib.auth.context_processors.auth',
- 'django.contrib.messages.context_processors.messages',
+ "BACKEND": "django.template.backends.django.DjangoTemplates",
+ "DIRS": [],
+ "APP_DIRS": True,
+ "OPTIONS": {
+ "context_processors": [
+ "django.template.context_processors.debug",
+ "django.template.context_processors.request",
+ "django.contrib.auth.context_processors.auth",
+ "django.contrib.messages.context_processors.messages",
],
},
},
]
-WSGI_APPLICATION = 'githubnavigator.wsgi.application'
+WSGI_APPLICATION = "githubnavigator.wsgi.application"
# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases
DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.sqlite3',
- 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+ "default": {
+ "ENGINE": "django.db.backends.sqlite3",
+ "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
}
}
@@ -88,16 +88,16 @@ DATABASES = {
AUTH_PASSWORD_VALIDATORS = [
{
- 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
},
{
- 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
},
{
- 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
},
{
- 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
},
]
@@ -105,9 +105,9 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/3.0/topics/i18n/
-LANGUAGE_CODE = 'en-us'
+LANGUAGE_CODE = "en-us"
-TIME_ZONE = 'UTC'
+TIME_ZONE = "UTC"
USE_I18N = True
@@ -119,13 +119,13 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/
-STATIC_URL = '/static/'
+STATIC_URL = "/static/"
# Github client settings
-GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
+GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
GITHUB_REQUEST_TIMEOUT = 10
# Search settings
DEFAULT_LIMIT = 5
-DEFAULT_QUERY = 'Dependency Injector'
+DEFAULT_QUERY = "Dependency Injector"
LIMIT_OPTIONS = [5, 10, 20]
diff --git a/examples/miniapps/django/githubnavigator/urls.py b/examples/miniapps/django/githubnavigator/urls.py
index 5e88d78f..9da435a1 100644
--- a/examples/miniapps/django/githubnavigator/urls.py
+++ b/examples/miniapps/django/githubnavigator/urls.py
@@ -17,6 +17,6 @@ from django.contrib import admin
from django.urls import path, include
urlpatterns = [
- path('', include('web.urls')),
- path('admin/', admin.site.urls),
+ path("", include("web.urls")),
+ path("admin/", admin.site.urls),
]
diff --git a/examples/miniapps/django/githubnavigator/wsgi.py b/examples/miniapps/django/githubnavigator/wsgi.py
index a13cd5f9..a18485e5 100644
--- a/examples/miniapps/django/githubnavigator/wsgi.py
+++ b/examples/miniapps/django/githubnavigator/wsgi.py
@@ -11,6 +11,6 @@ import os
from django.core.wsgi import get_wsgi_application
-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'githubnavigator.settings')
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "githubnavigator.settings")
application = get_wsgi_application()
diff --git a/examples/miniapps/django/manage.py b/examples/miniapps/django/manage.py
index d3bb8330..b817fe61 100755
--- a/examples/miniapps/django/manage.py
+++ b/examples/miniapps/django/manage.py
@@ -5,7 +5,7 @@ import sys
def main():
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'githubnavigator.settings')
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "githubnavigator.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
@@ -17,5 +17,5 @@ def main():
execute_from_command_line(sys.argv)
-if __name__ == '__main__':
+if __name__ == "__main__":
main()
diff --git a/examples/miniapps/django/web/apps.py b/examples/miniapps/django/web/apps.py
index c52fbbe2..0363f24e 100644
--- a/examples/miniapps/django/web/apps.py
+++ b/examples/miniapps/django/web/apps.py
@@ -3,11 +3,10 @@
from django.apps import AppConfig
from githubnavigator import container
-from . import views
class WebConfig(AppConfig):
- name = 'web'
+ name = "web"
def ready(self):
- container.wire(modules=[views])
+ container.wire(modules=[".views"])
diff --git a/examples/miniapps/django/web/templates/base.html b/examples/miniapps/django/web/templates/base.html
index 8edd5984..f337f1d8 100644
--- a/examples/miniapps/django/web/templates/base.html
+++ b/examples/miniapps/django/web/templates/base.html
@@ -1,4 +1,4 @@
-{% extends 'bootstrap4/bootstrap4.html' %}
+{% extends "bootstrap4/bootstrap4.html" %}
{% load bootstrap4 %}
diff --git a/examples/miniapps/django/web/tests.py b/examples/miniapps/django/web/tests.py
index eddc5d22..54330315 100644
--- a/examples/miniapps/django/web/tests.py
+++ b/examples/miniapps/django/web/tests.py
@@ -15,49 +15,49 @@ class IndexTests(TestCase):
github_client_mock = mock.Mock(spec=Github)
github_client_mock.search_repositories.return_value = [
mock.Mock(
- html_url='repo1-url',
- name='repo1-name',
+ html_url="repo1-url",
+ name="repo1-name",
owner=mock.Mock(
- login='owner1-login',
- html_url='owner1-url',
- avatar_url='owner1-avatar-url',
+ login="owner1-login",
+ html_url="owner1-url",
+ avatar_url="owner1-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
mock.Mock(
- html_url='repo2-url',
- name='repo2-name',
+ html_url="repo2-url",
+ name="repo2-name",
owner=mock.Mock(
- login='owner2-login',
- html_url='owner2-url',
- avatar_url='owner2-avatar-url',
+ login="owner2-login",
+ html_url="owner2-url",
+ avatar_url="owner2-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
]
with container.github_client.override(github_client_mock):
- response = self.client.get(reverse('index'))
+ response = self.client.get(reverse("index"))
- self.assertContains(response, 'Results found: 2')
+ self.assertContains(response, "Results found: 2")
- self.assertContains(response, 'repo1-url')
- self.assertContains(response, 'repo1-name')
- self.assertContains(response, 'owner1-login')
- self.assertContains(response, 'owner1-url')
- self.assertContains(response, 'owner1-avatar-url')
+ self.assertContains(response, "repo1-url")
+ self.assertContains(response, "repo1-name")
+ self.assertContains(response, "owner1-login")
+ self.assertContains(response, "owner1-url")
+ self.assertContains(response, "owner1-avatar-url")
- self.assertContains(response, 'repo2-url')
- self.assertContains(response, 'repo2-name')
- self.assertContains(response, 'owner2-login')
- self.assertContains(response, 'owner2-url')
- self.assertContains(response, 'owner2-avatar-url')
+ self.assertContains(response, "repo2-url")
+ self.assertContains(response, "repo2-name")
+ self.assertContains(response, "owner2-login")
+ self.assertContains(response, "owner2-url")
+ self.assertContains(response, "owner2-avatar-url")
def test_index_no_results(self):
github_client_mock = mock.Mock(spec=Github)
github_client_mock.search_repositories.return_value = []
with container.github_client.override(github_client_mock):
- response = self.client.get(reverse('index'))
+ response = self.client.get(reverse("index"))
- self.assertContains(response, 'Results found: 0')
+ self.assertContains(response, "Results found: 0")
diff --git a/examples/miniapps/django/web/urls.py b/examples/miniapps/django/web/urls.py
index de1d2f9f..16061aa2 100644
--- a/examples/miniapps/django/web/urls.py
+++ b/examples/miniapps/django/web/urls.py
@@ -5,5 +5,5 @@ from django.urls import path
from . import views
urlpatterns = [
- path('', views.index, name='index'),
+ path("", views.index, name="index"),
]
diff --git a/examples/miniapps/django/web/views.py b/examples/miniapps/django/web/views.py
index 6d8f11f5..16a66595 100644
--- a/examples/miniapps/django/web/views.py
+++ b/examples/miniapps/django/web/views.py
@@ -18,18 +18,18 @@ def index(
default_limit: int = Provide[Container.config.DEFAULT_LIMIT.as_int()],
limit_options: List[int] = Provide[Container.config.LIMIT_OPTIONS],
) -> HttpResponse:
- query = request.GET.get('query', default_query)
- limit = int(request.GET.get('limit', default_limit))
+ query = request.GET.get("query", default_query)
+ limit = int(request.GET.get("limit", default_limit))
repositories = search_service.search_repositories(query, limit)
return render(
request,
- template_name='index.html',
+ template_name="index.html",
context={
- 'query': query,
- 'limit': limit,
- 'limit_options': limit_options,
- 'repositories': repositories,
+ "query": query,
+ "limit": limit,
+ "limit_options": limit_options,
+ "repositories": repositories,
}
)
diff --git a/examples/miniapps/factory-patterns/chained_factories.py b/examples/miniapps/factory-patterns/chained_factories.py
index b54da028..d986138a 100644
--- a/examples/miniapps/factory-patterns/chained_factories.py
+++ b/examples/miniapps/factory-patterns/chained_factories.py
@@ -63,7 +63,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
token_service = container.token_service()
diff --git a/examples/miniapps/factory-patterns/factory_of_factories.py b/examples/miniapps/factory-patterns/factory_of_factories.py
index 664c2c58..cf4bfba3 100644
--- a/examples/miniapps/factory-patterns/factory_of_factories.py
+++ b/examples/miniapps/factory-patterns/factory_of_factories.py
@@ -58,7 +58,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
token_service = container.token_service()
diff --git a/examples/miniapps/fastapi-redis/Dockerfile b/examples/miniapps/fastapi-redis/Dockerfile
index 4adbf329..932c3d6c 100644
--- a/examples/miniapps/fastapi-redis/Dockerfile
+++ b/examples/miniapps/fastapi-redis/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.8-buster
+FROM python:3.9-buster
ENV PYTHONUNBUFFERED=1
diff --git a/examples/miniapps/fastapi-redis/README.rst b/examples/miniapps/fastapi-redis/README.rst
index 4871fd2f..2daa0f4b 100644
--- a/examples/miniapps/fastapi-redis/README.rst
+++ b/examples/miniapps/fastapi-redis/README.rst
@@ -69,14 +69,14 @@ The output should be something like:
.. code-block::
- platform linux -- Python 3.8.6, pytest-6.2.1, py-1.10.0, pluggy-0.13.1
+ platform linux -- Python 3.9, pytest-6.2.1, py-1.10.0, pluggy-0.13.1
rootdir: /code
plugins: cov-2.10.1, asyncio-0.14.0
collected 1 item
fastapiredis/tests.py . [100%]
- ----------- coverage: platform linux, python 3.8.6-final-0 -----------
+ ----------- coverage: platform linux, python 3.9 -----------
Name Stmts Miss Cover
-------------------------------------------------
fastapiredis/__init__.py 0 0 100%
diff --git a/examples/miniapps/fastapi-redis/fastapiredis/application.py b/examples/miniapps/fastapi-redis/fastapiredis/application.py
index 706b472f..f8e4a3bb 100644
--- a/examples/miniapps/fastapi-redis/fastapiredis/application.py
+++ b/examples/miniapps/fastapi-redis/fastapiredis/application.py
@@ -1,9 +1,7 @@
"""Application module."""
-import sys
-
-from fastapi import FastAPI, Depends
from dependency_injector.wiring import inject, Provide
+from fastapi import FastAPI, Depends
from .containers import Container
from .services import Service
@@ -12,14 +10,14 @@ from .services import Service
app = FastAPI()
-@app.api_route('/')
+@app.api_route("/")
@inject
async def index(service: Service = Depends(Provide[Container.service])):
value = await service.process()
- return {'result': value}
+ return {"result": value}
container = Container()
-container.config.redis_host.from_env('REDIS_HOST', 'localhost')
-container.config.redis_password.from_env('REDIS_PASSWORD', 'password')
-container.wire(modules=[sys.modules[__name__]])
+container.config.redis_host.from_env("REDIS_HOST", "localhost")
+container.config.redis_password.from_env("REDIS_PASSWORD", "password")
+container.wire(modules=[__name__])
diff --git a/examples/miniapps/fastapi-redis/fastapiredis/redis.py b/examples/miniapps/fastapi-redis/fastapiredis/redis.py
index 60c672e3..3c5f17f9 100644
--- a/examples/miniapps/fastapi-redis/fastapiredis/redis.py
+++ b/examples/miniapps/fastapi-redis/fastapiredis/redis.py
@@ -6,7 +6,7 @@ from aioredis import create_redis_pool, Redis
async def init_redis_pool(host: str, password: str) -> AsyncIterator[Redis]:
- pool = await create_redis_pool(f'redis://{host}', password=password)
+ pool = await create_redis_pool(f"redis://{host}", password=password)
yield pool
pool.close()
await pool.wait_closed()
diff --git a/examples/miniapps/fastapi-redis/fastapiredis/services.py b/examples/miniapps/fastapi-redis/fastapiredis/services.py
index 7d426433..9a202c74 100644
--- a/examples/miniapps/fastapi-redis/fastapiredis/services.py
+++ b/examples/miniapps/fastapi-redis/fastapiredis/services.py
@@ -8,5 +8,5 @@ class Service:
self._redis = redis
async def process(self) -> str:
- await self._redis.set('my-key', 'value')
- return await self._redis.get('my-key', encoding='utf-8')
+ await self._redis.set("my-key", "value")
+ return await self._redis.get("my-key", encoding="utf-8")
diff --git a/examples/miniapps/fastapi-redis/fastapiredis/tests.py b/examples/miniapps/fastapi-redis/fastapiredis/tests.py
index 6ac376e5..bde075ab 100644
--- a/examples/miniapps/fastapi-redis/fastapiredis/tests.py
+++ b/examples/miniapps/fastapi-redis/fastapiredis/tests.py
@@ -11,7 +11,7 @@ from .services import Service
@pytest.fixture
def client(event_loop):
- client = AsyncClient(app=app, base_url='http://test')
+ client = AsyncClient(app=app, base_url="http://test")
yield client
event_loop.run_until_complete(client.aclose())
@@ -19,10 +19,10 @@ def client(event_loop):
@pytest.mark.asyncio
async def test_index(client):
service_mock = mock.AsyncMock(spec=Service)
- service_mock.process.return_value = 'Foo'
+ service_mock.process.return_value = "Foo"
with container.service.override(service_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status_code == 200
- assert response.json() == {'result': 'Foo'}
+ assert response.json() == {"result": "Foo"}
diff --git a/examples/miniapps/fastapi-redis/requirements.txt b/examples/miniapps/fastapi-redis/requirements.txt
index c217324a..9a144a8d 100644
--- a/examples/miniapps/fastapi-redis/requirements.txt
+++ b/examples/miniapps/fastapi-redis/requirements.txt
@@ -1,7 +1,7 @@
dependency-injector
fastapi
uvicorn
-aioredis
+aioredis<2 # TODO: Update example to work with aioredis >= 2.0
# For testing:
pytest
diff --git a/examples/miniapps/fastapi-simple/fastapi_di_example.py b/examples/miniapps/fastapi-simple/fastapi_di_example.py
index d6c3b1f1..9f3d3f83 100644
--- a/examples/miniapps/fastapi-simple/fastapi_di_example.py
+++ b/examples/miniapps/fastapi-simple/fastapi_di_example.py
@@ -1,13 +1,11 @@
-import sys
-
from fastapi import FastAPI, Depends
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
class Service:
async def process(self) -> str:
- return 'Ok'
+ return "OK"
class Container(containers.DeclarativeContainer):
@@ -18,12 +16,12 @@ class Container(containers.DeclarativeContainer):
app = FastAPI()
-@app.api_route('/')
+@app.api_route("/")
@inject
async def index(service: Service = Depends(Provide[Container.service])):
result = await service.process()
- return {'result': result}
+ return {"result": result}
container = Container()
-container.wire(modules=[sys.modules[__name__]])
+container.wire(modules=[__name__])
diff --git a/examples/miniapps/fastapi-simple/tests.py b/examples/miniapps/fastapi-simple/tests.py
index dc4f6203..4d80e072 100644
--- a/examples/miniapps/fastapi-simple/tests.py
+++ b/examples/miniapps/fastapi-simple/tests.py
@@ -7,19 +7,18 @@ from fastapi_di_example import app, container, Service
@pytest.fixture
-def client(event_loop):
- client = AsyncClient(app=app, base_url='http://test')
- yield client
- event_loop.run_until_complete(client.aclose())
+async def client(event_loop):
+ async with AsyncClient(app=app, base_url="http://test") as client:
+ yield client
@pytest.mark.asyncio
async def test_index(client):
service_mock = mock.AsyncMock(spec=Service)
- service_mock.process.return_value = 'Foo'
+ service_mock.process.return_value = "Foo"
with container.service.override(service_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status_code == 200
- assert response.json() == {'result': 'Foo'}
+ assert response.json() == {"result": "Foo"}
diff --git a/examples/miniapps/fastapi-sqlalchemy/Dockerfile b/examples/miniapps/fastapi-sqlalchemy/Dockerfile
index f7c7c1d4..17676624 100644
--- a/examples/miniapps/fastapi-sqlalchemy/Dockerfile
+++ b/examples/miniapps/fastapi-sqlalchemy/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.9-buster
+FROM python:3.10-buster
ENV PYTHONUNBUFFERED=1
ENV HOST=0.0.0.0
diff --git a/examples/miniapps/fastapi-sqlalchemy/README.rst b/examples/miniapps/fastapi-sqlalchemy/README.rst
index 2c8e0b66..688723b9 100644
--- a/examples/miniapps/fastapi-sqlalchemy/README.rst
+++ b/examples/miniapps/fastapi-sqlalchemy/README.rst
@@ -73,19 +73,19 @@ The output should be something like:
.. code-block::
- platform linux -- Python 3.9.1, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
+ platform linux -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: /code
- plugins: cov-2.11.1
+ plugins: cov-3.0.0
collected 7 items
webapp/tests.py ....... [100%]
- ----------- coverage: platform linux, python 3.9.1-final-0 -----------
+ ---------- coverage: platform linux, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
--------------------------------------------
webapp/__init__.py 0 0 100%
- webapp/application.py 14 0 100%
- webapp/containers.py 9 0 100%
+ webapp/application.py 12 0 100%
+ webapp/containers.py 10 0 100%
webapp/database.py 24 8 67%
webapp/endpoints.py 32 0 100%
webapp/models.py 10 1 90%
@@ -93,4 +93,4 @@ The output should be something like:
webapp/services.py 16 0 100%
webapp/tests.py 59 0 100%
--------------------------------------------
- TOTAL 200 29 86%
+ TOTAL 199 29 85%
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/application.py b/examples/miniapps/fastapi-sqlalchemy/webapp/application.py
index 9e46af20..c152ef41 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/application.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/application.py
@@ -8,8 +8,6 @@ from . import endpoints
def create_app() -> FastAPI:
container = Container()
- container.config.from_yaml('config.yml')
- container.wire(modules=[endpoints])
db = container.db()
db.create_database()
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/containers.py b/examples/miniapps/fastapi-sqlalchemy/webapp/containers.py
index a5bf81ca..00c6871d 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/containers.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/containers.py
@@ -9,7 +9,9 @@ from .services import UserService
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(modules=[".endpoints"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
db = providers.Singleton(Database, db_url=config.db.url)
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/database.py b/examples/miniapps/fastapi-sqlalchemy/webapp/database.py
index 763f4c37..3ce2e257 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/database.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/database.py
@@ -34,7 +34,7 @@ class Database:
try:
yield session
except Exception:
- logger.exception('Session rollback because of exception')
+ logger.exception("Session rollback because of exception")
session.rollback()
raise
finally:
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/endpoints.py b/examples/miniapps/fastapi-sqlalchemy/webapp/endpoints.py
index 799e6171..4d27101e 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/endpoints.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/endpoints.py
@@ -10,7 +10,7 @@ from .repositories import NotFoundError
router = APIRouter()
-@router.get('/users')
+@router.get("/users")
@inject
def get_list(
user_service: UserService = Depends(Provide[Container.user_service]),
@@ -18,7 +18,7 @@ def get_list(
return user_service.get_users()
-@router.get('/users/{user_id}')
+@router.get("/users/{user_id}")
@inject
def get_by_id(
user_id: int,
@@ -30,7 +30,7 @@ def get_by_id(
return Response(status_code=status.HTTP_404_NOT_FOUND)
-@router.post('/users', status_code=status.HTTP_201_CREATED)
+@router.post("/users", status_code=status.HTTP_201_CREATED)
@inject
def add(
user_service: UserService = Depends(Provide[Container.user_service]),
@@ -38,7 +38,7 @@ def add(
return user_service.create_user()
-@router.delete('/users/{user_id}', status_code=status.HTTP_204_NO_CONTENT)
+@router.delete("/users/{user_id}", status_code=status.HTTP_204_NO_CONTENT)
@inject
def remove(
user_id: int,
@@ -52,6 +52,6 @@ def remove(
return Response(status_code=status.HTTP_204_NO_CONTENT)
-@router.get('/status')
+@router.get("/status")
def get_status():
- return {'status': 'OK'}
+ return {"status": "OK"}
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/models.py b/examples/miniapps/fastapi-sqlalchemy/webapp/models.py
index 1f3afe49..daefaa59 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/models.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/models.py
@@ -7,7 +7,7 @@ from .database import Base
class User(Base):
- __tablename__ = 'users'
+ __tablename__ = "users"
id = Column(Integer, primary_key=True)
email = Column(String, unique=True)
@@ -15,7 +15,7 @@ class User(Base):
is_active = Column(Boolean, default=True)
def __repr__(self):
- return f''
+ return f""
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/repositories.py b/examples/miniapps/fastapi-sqlalchemy/webapp/repositories.py
index e76a107b..f86e41ee 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/repositories.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/repositories.py
@@ -46,9 +46,9 @@ class NotFoundError(Exception):
entity_name: str
def __init__(self, entity_id):
- super().__init__(f'{self.entity_name} not found, id: {entity_id}')
+ super().__init__(f"{self.entity_name} not found, id: {entity_id}")
class UserNotFoundError(NotFoundError):
- entity_name: str = 'User'
+ entity_name: str = "User"
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/services.py b/examples/miniapps/fastapi-sqlalchemy/webapp/services.py
index c48cccbb..8c0cb4f6 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/services.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/services.py
@@ -20,7 +20,7 @@ class UserService:
def create_user(self) -> User:
uid = uuid4()
- return self._repository.add(email=f'{uid}@email.com', password='pwd')
+ return self._repository.add(email=f"{uid}@email.com", password="pwd")
def delete_user_by_id(self, user_id: int) -> None:
return self._repository.delete_by_id(user_id)
diff --git a/examples/miniapps/fastapi-sqlalchemy/webapp/tests.py b/examples/miniapps/fastapi-sqlalchemy/webapp/tests.py
index fe2e6a12..cf3a9939 100644
--- a/examples/miniapps/fastapi-sqlalchemy/webapp/tests.py
+++ b/examples/miniapps/fastapi-sqlalchemy/webapp/tests.py
@@ -18,18 +18,18 @@ def client():
def test_get_list(client):
repository_mock = mock.Mock(spec=UserRepository)
repository_mock.get_all.return_value = [
- User(id=1, email='test1@email.com', hashed_password='pwd', is_active=True),
- User(id=2, email='test2@email.com', hashed_password='pwd', is_active=False),
+ User(id=1, email="test1@email.com", hashed_password="pwd", is_active=True),
+ User(id=2, email="test2@email.com", hashed_password="pwd", is_active=False),
]
with app.container.user_repository.override(repository_mock):
- response = client.get('/users')
+ response = client.get("/users")
assert response.status_code == 200
data = response.json()
assert data == [
- {'id': 1, 'email': 'test1@email.com', 'hashed_password': 'pwd', 'is_active': True},
- {'id': 2, 'email': 'test2@email.com', 'hashed_password': 'pwd', 'is_active': False},
+ {"id": 1, "email": "test1@email.com", "hashed_password": "pwd", "is_active": True},
+ {"id": 2, "email": "test2@email.com", "hashed_password": "pwd", "is_active": False},
]
@@ -37,17 +37,17 @@ def test_get_by_id(client):
repository_mock = mock.Mock(spec=UserRepository)
repository_mock.get_by_id.return_value = User(
id=1,
- email='xyz@email.com',
- hashed_password='pwd',
+ email="xyz@email.com",
+ hashed_password="pwd",
is_active=True,
)
with app.container.user_repository.override(repository_mock):
- response = client.get('/users/1')
+ response = client.get("/users/1")
assert response.status_code == 200
data = response.json()
- assert data == {'id': 1, 'email': 'xyz@email.com', 'hashed_password': 'pwd', 'is_active': True}
+ assert data == {"id": 1, "email": "xyz@email.com", "hashed_password": "pwd", "is_active": True}
repository_mock.get_by_id.assert_called_once_with(1)
@@ -56,35 +56,35 @@ def test_get_by_id_404(client):
repository_mock.get_by_id.side_effect = UserNotFoundError(1)
with app.container.user_repository.override(repository_mock):
- response = client.get('/users/1')
+ response = client.get("/users/1")
assert response.status_code == 404
-@mock.patch('webapp.services.uuid4', return_value='xyz')
+@mock.patch("webapp.services.uuid4", return_value="xyz")
def test_add(_, client):
repository_mock = mock.Mock(spec=UserRepository)
repository_mock.add.return_value = User(
id=1,
- email='xyz@email.com',
- hashed_password='pwd',
+ email="xyz@email.com",
+ hashed_password="pwd",
is_active=True,
)
with app.container.user_repository.override(repository_mock):
- response = client.post('/users')
+ response = client.post("/users")
assert response.status_code == 201
data = response.json()
- assert data == {'id': 1, 'email': 'xyz@email.com', 'hashed_password': 'pwd', 'is_active': True}
- repository_mock.add.assert_called_once_with(email='xyz@email.com', password='pwd')
+ assert data == {"id": 1, "email": "xyz@email.com", "hashed_password": "pwd", "is_active": True}
+ repository_mock.add.assert_called_once_with(email="xyz@email.com", password="pwd")
def test_remove(client):
repository_mock = mock.Mock(spec=UserRepository)
with app.container.user_repository.override(repository_mock):
- response = client.delete('/users/1')
+ response = client.delete("/users/1")
assert response.status_code == 204
repository_mock.delete_by_id.assert_called_once_with(1)
@@ -95,13 +95,13 @@ def test_remove_404(client):
repository_mock.delete_by_id.side_effect = UserNotFoundError(1)
with app.container.user_repository.override(repository_mock):
- response = client.delete('/users/1')
+ response = client.delete("/users/1")
assert response.status_code == 404
def test_status(client):
- response = client.get('/status')
+ response = client.get("/status")
assert response.status_code == 200
data = response.json()
- assert data == {'status': 'OK'}
+ assert data == {"status": "OK"}
diff --git a/examples/miniapps/fastapi/README.rst b/examples/miniapps/fastapi/README.rst
index eaaee20b..779ccac8 100644
--- a/examples/miniapps/fastapi/README.rst
+++ b/examples/miniapps/fastapi/README.rst
@@ -101,21 +101,21 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0, asyncio-0.14.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: asyncio-0.16.0, cov-3.0.0
collected 3 items
giphynavigator/tests.py ... [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
---------------------------------------------------
giphynavigator/__init__.py 0 0 100%
- giphynavigator/application.py 13 0 100%
- giphynavigator/containers.py 6 0 100%
+ giphynavigator/application.py 11 0 100%
+ giphynavigator/containers.py 7 0 100%
giphynavigator/endpoints.py 20 0 100%
giphynavigator/giphy.py 14 9 36%
giphynavigator/services.py 9 1 89%
- giphynavigator/tests.py 38 0 100%
+ giphynavigator/tests.py 37 0 100%
---------------------------------------------------
- TOTAL 100 10 90%
+ TOTAL 98 10 90%
diff --git a/examples/miniapps/fastapi/giphynavigator/application.py b/examples/miniapps/fastapi/giphynavigator/application.py
index 8a8f8a52..4cb0af2e 100644
--- a/examples/miniapps/fastapi/giphynavigator/application.py
+++ b/examples/miniapps/fastapi/giphynavigator/application.py
@@ -8,9 +8,7 @@ from . import endpoints
def create_app() -> FastAPI:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.giphy.api_key.from_env('GIPHY_API_KEY')
- container.wire(modules=[endpoints])
+ container.config.giphy.api_key.from_env("GIPHY_API_KEY")
app = FastAPI()
app.container = container
diff --git a/examples/miniapps/fastapi/giphynavigator/containers.py b/examples/miniapps/fastapi/giphynavigator/containers.py
index 730c162e..15777679 100644
--- a/examples/miniapps/fastapi/giphynavigator/containers.py
+++ b/examples/miniapps/fastapi/giphynavigator/containers.py
@@ -7,7 +7,9 @@ from . import giphy, services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(modules=[".endpoints"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
giphy_client = providers.Factory(
giphy.GiphyClient,
diff --git a/examples/miniapps/fastapi/giphynavigator/endpoints.py b/examples/miniapps/fastapi/giphynavigator/endpoints.py
index ab4f1b88..2761f203 100644
--- a/examples/miniapps/fastapi/giphynavigator/endpoints.py
+++ b/examples/miniapps/fastapi/giphynavigator/endpoints.py
@@ -23,7 +23,7 @@ class Response(BaseModel):
router = APIRouter()
-@router.get('/', response_model=Response)
+@router.get("/", response_model=Response)
@inject
async def index(
query: Optional[str] = None,
@@ -38,7 +38,7 @@ async def index(
gifs = await search_service.search(query, limit)
return {
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
}
diff --git a/examples/miniapps/fastapi/giphynavigator/giphy.py b/examples/miniapps/fastapi/giphynavigator/giphy.py
index 22a5f6a4..bab017c5 100644
--- a/examples/miniapps/fastapi/giphynavigator/giphy.py
+++ b/examples/miniapps/fastapi/giphynavigator/giphy.py
@@ -5,7 +5,7 @@ from aiohttp import ClientSession, ClientTimeout
class GiphyClient:
- API_URL = 'https://api.giphy.com/v1'
+ API_URL = "https://api.giphy.com/v1"
def __init__(self, api_key, timeout):
self._api_key = api_key
@@ -13,11 +13,11 @@ class GiphyClient:
async def search(self, query, limit):
"""Make search API call and return result."""
- url = f'{self.API_URL}/gifs/search'
+ url = f"{self.API_URL}/gifs/search"
params = {
- 'q': query,
- 'api_key': self._api_key,
- 'limit': limit,
+ "q": query,
+ "api_key": self._api_key,
+ "limit": limit,
}
async with ClientSession(timeout=self._timeout) as session:
async with session.get(url, params=params) as response:
diff --git a/examples/miniapps/fastapi/giphynavigator/services.py b/examples/miniapps/fastapi/giphynavigator/services.py
index 1c86e0d7..1ee6eb64 100644
--- a/examples/miniapps/fastapi/giphynavigator/services.py
+++ b/examples/miniapps/fastapi/giphynavigator/services.py
@@ -15,4 +15,4 @@ class SearchService:
result = await self._giphy_client.search(query, limit)
- return [{'url': gif['url']} for gif in result['data']]
+ return [{"url": gif["url"]} for gif in result["data"]]
diff --git a/examples/miniapps/fastapi/giphynavigator/tests.py b/examples/miniapps/fastapi/giphynavigator/tests.py
index 4ae91493..2b57d50d 100644
--- a/examples/miniapps/fastapi/giphynavigator/tests.py
+++ b/examples/miniapps/fastapi/giphynavigator/tests.py
@@ -10,39 +10,38 @@ from giphynavigator.giphy import GiphyClient
@pytest.fixture
-def client(event_loop):
- client = AsyncClient(app=app, base_url='http://test')
- yield client
- event_loop.run_until_complete(client.aclose())
+async def client():
+ async with AsyncClient(app=app, base_url="http://test") as client:
+ yield client
@pytest.mark.asyncio
async def test_index(client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "data": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
with app.container.giphy_client.override(giphy_client_mock):
response = await client.get(
- '/',
+ "/",
params={
- 'query': 'test',
- 'limit': 10,
+ "query": "test",
+ "limit": 10,
},
)
assert response.status_code == 200
data = response.json()
assert data == {
- 'query': 'test',
- 'limit': 10,
- 'gifs': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "query": "test",
+ "limit": 10,
+ "gifs": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
@@ -51,28 +50,28 @@ async def test_index(client):
async def test_index_no_data(client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status_code == 200
data = response.json()
- assert data['gifs'] == []
+ assert data["gifs"] == []
@pytest.mark.asyncio
async def test_index_default_params(client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
with app.container.giphy_client.override(giphy_client_mock):
- response = await client.get('/')
+ response = await client.get("/")
assert response.status_code == 200
data = response.json()
- assert data['query'] == app.container.config.default.query()
- assert data['limit'] == app.container.config.default.limit()
+ assert data["query"] == app.container.config.default.query()
+ assert data["limit"] == app.container.config.default.limit()
diff --git a/examples/miniapps/flask-blueprints/README.rst b/examples/miniapps/flask-blueprints/README.rst
index 355fc2af..3d61636c 100644
--- a/examples/miniapps/flask-blueprints/README.rst
+++ b/examples/miniapps/flask-blueprints/README.rst
@@ -81,20 +81,21 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: flask-1.0.0, cov-2.10.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: cov-3.0.0, flask-1.2.0
collected 2 items
githubnavigator/tests.py .. [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
- Name Stmts Miss Cover
- ----------------------------------------------------
- githubnavigator/__init__.py 0 0 100%
- githubnavigator/application.py 15 0 100%
- githubnavigator/blueprints/example.py 12 0 100%
- githubnavigator/containers.py 7 0 100%
- githubnavigator/services.py 14 0 100%
- githubnavigator/tests.py 34 0 100%
- -----------------------------------------------------------
- TOTAL 82 0 100%
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
+ Name Stmts Miss Cover
+ ------------------------------------------------------------
+ githubnavigator/__init__.py 0 0 100%
+ githubnavigator/application.py 13 0 100%
+ githubnavigator/blueprints/__init__.py 0 0 100%
+ githubnavigator/blueprints/example.py 12 0 100%
+ githubnavigator/containers.py 8 0 100%
+ githubnavigator/services.py 14 0 100%
+ githubnavigator/tests.py 34 0 100%
+ ------------------------------------------------------------
+ TOTAL 81 0 100%
diff --git a/examples/miniapps/flask-blueprints/githubnavigator/application.py b/examples/miniapps/flask-blueprints/githubnavigator/application.py
index eabf8eed..4b1ae03b 100644
--- a/examples/miniapps/flask-blueprints/githubnavigator/application.py
+++ b/examples/miniapps/flask-blueprints/githubnavigator/application.py
@@ -9,9 +9,7 @@ from .blueprints import example
def create_app() -> Flask:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.github.auth_token.from_env('GITHUB_TOKEN')
- container.wire(modules=[example])
+ container.config.github.auth_token.from_env("GITHUB_TOKEN")
app = Flask(__name__)
app.container = container
diff --git a/examples/miniapps/flask-blueprints/githubnavigator/blueprints/example.py b/examples/miniapps/flask-blueprints/githubnavigator/blueprints/example.py
index 48a30b7b..4e92f5e9 100644
--- a/examples/miniapps/flask-blueprints/githubnavigator/blueprints/example.py
+++ b/examples/miniapps/flask-blueprints/githubnavigator/blueprints/example.py
@@ -7,23 +7,23 @@ from githubnavigator.services import SearchService
from githubnavigator.containers import Container
-blueprint = Blueprint('example', __name__, template_folder='templates/')
+blueprint = Blueprint("example", __name__, template_folder="templates/")
-@blueprint.route('/')
+@blueprint.route("/")
@inject
def index(
search_service: SearchService = Provide[Container.search_service],
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
):
- query = request.args.get('query', default_query)
- limit = request.args.get('limit', default_limit, int)
+ query = request.args.get("query", default_query)
+ limit = request.args.get("limit", default_limit, int)
repositories = search_service.search_repositories(query, limit)
return render_template(
- 'index.html',
+ "index.html",
query=query,
limit=limit,
repositories=repositories,
diff --git a/examples/miniapps/flask-blueprints/githubnavigator/containers.py b/examples/miniapps/flask-blueprints/githubnavigator/containers.py
index d2a0e7ca..a0df28ea 100644
--- a/examples/miniapps/flask-blueprints/githubnavigator/containers.py
+++ b/examples/miniapps/flask-blueprints/githubnavigator/containers.py
@@ -8,7 +8,9 @@ from . import services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(packages=[".blueprints"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
github_client = providers.Factory(
Github,
diff --git a/examples/miniapps/flask-blueprints/githubnavigator/services.py b/examples/miniapps/flask-blueprints/githubnavigator/services.py
index 9c6ff839..3e80a7ec 100644
--- a/examples/miniapps/flask-blueprints/githubnavigator/services.py
+++ b/examples/miniapps/flask-blueprints/githubnavigator/services.py
@@ -15,7 +15,7 @@ class SearchService:
"""Search for repositories and return formatted data."""
repositories = self._github_client.search_repositories(
query=query,
- **{'in': 'name'},
+ **{"in": "name"},
)
return [
self._format_repo(repository)
@@ -25,20 +25,20 @@ class SearchService:
def _format_repo(self, repository: Repository):
commits = repository.get_commits()
return {
- 'url': repository.html_url,
- 'name': repository.name,
- 'owner': {
- 'login': repository.owner.login,
- 'url': repository.owner.html_url,
- 'avatar_url': repository.owner.avatar_url,
+ "url": repository.html_url,
+ "name": repository.name,
+ "owner": {
+ "login": repository.owner.login,
+ "url": repository.owner.html_url,
+ "avatar_url": repository.owner.avatar_url,
},
- 'latest_commit': self._format_commit(commits[0]) if commits else {},
+ "latest_commit": self._format_commit(commits[0]) if commits else {},
}
def _format_commit(self, commit: Commit):
return {
- 'sha': commit.sha,
- 'url': commit.html_url,
- 'message': commit.commit.message,
- 'author_name': commit.commit.author.name,
+ "sha": commit.sha,
+ "url": commit.html_url,
+ "message": commit.commit.message,
+ "author_name": commit.commit.author.name,
}
diff --git a/examples/miniapps/flask-blueprints/githubnavigator/tests.py b/examples/miniapps/flask-blueprints/githubnavigator/tests.py
index ddf4c256..b00eeeb5 100644
--- a/examples/miniapps/flask-blueprints/githubnavigator/tests.py
+++ b/examples/miniapps/flask-blueprints/githubnavigator/tests.py
@@ -20,44 +20,44 @@ def test_index(client, app):
github_client_mock = mock.Mock(spec=Github)
github_client_mock.search_repositories.return_value = [
mock.Mock(
- html_url='repo1-url',
- name='repo1-name',
+ html_url="repo1-url",
+ name="repo1-name",
owner=mock.Mock(
- login='owner1-login',
- html_url='owner1-url',
- avatar_url='owner1-avatar-url',
+ login="owner1-login",
+ html_url="owner1-url",
+ avatar_url="owner1-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
mock.Mock(
- html_url='repo2-url',
- name='repo2-name',
+ html_url="repo2-url",
+ name="repo2-name",
owner=mock.Mock(
- login='owner2-login',
- html_url='owner2-url',
- avatar_url='owner2-avatar-url',
+ login="owner2-login",
+ html_url="owner2-url",
+ avatar_url="owner2-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
]
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('example.index'))
+ response = client.get(url_for("example.index"))
assert response.status_code == 200
- assert b'Results found: 2' in response.data
+ assert b"Results found: 2" in response.data
- assert b'repo1-url' in response.data
- assert b'repo1-name' in response.data
- assert b'owner1-login' in response.data
- assert b'owner1-url' in response.data
- assert b'owner1-avatar-url' in response.data
+ assert b"repo1-url" in response.data
+ assert b"repo1-name" in response.data
+ assert b"owner1-login" in response.data
+ assert b"owner1-url" in response.data
+ assert b"owner1-avatar-url" in response.data
- assert b'repo2-url' in response.data
- assert b'repo2-name' in response.data
- assert b'owner2-login' in response.data
- assert b'owner2-url' in response.data
- assert b'owner2-avatar-url' in response.data
+ assert b"repo2-url" in response.data
+ assert b"repo2-name" in response.data
+ assert b"owner2-login" in response.data
+ assert b"owner2-url" in response.data
+ assert b"owner2-avatar-url" in response.data
def test_index_no_results(client, app):
@@ -65,7 +65,7 @@ def test_index_no_results(client, app):
github_client_mock.search_repositories.return_value = []
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('example.index'))
+ response = client.get(url_for("example.index"))
assert response.status_code == 200
- assert b'Results found: 0' in response.data
+ assert b"Results found: 0" in response.data
diff --git a/examples/miniapps/flask/README.rst b/examples/miniapps/flask/README.rst
index d825a81e..93d45a00 100644
--- a/examples/miniapps/flask/README.rst
+++ b/examples/miniapps/flask/README.rst
@@ -81,20 +81,20 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: flask-1.0.0, cov-2.10.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: cov-3.0.0, flask-1.2.0
collected 2 items
githubnavigator/tests.py .. [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
----------------------------------------------------
githubnavigator/__init__.py 0 0 100%
- githubnavigator/application.py 15 0 100%
- githubnavigator/containers.py 7 0 100%
+ githubnavigator/application.py 13 0 100%
+ githubnavigator/containers.py 8 0 100%
githubnavigator/services.py 14 0 100%
githubnavigator/tests.py 34 0 100%
githubnavigator/views.py 10 0 100%
----------------------------------------------------
- TOTAL 80 0 100%
+ TOTAL 79 0 100%
diff --git a/examples/miniapps/flask/githubnavigator/application.py b/examples/miniapps/flask/githubnavigator/application.py
index 39e62f98..8943c55c 100644
--- a/examples/miniapps/flask/githubnavigator/application.py
+++ b/examples/miniapps/flask/githubnavigator/application.py
@@ -9,13 +9,11 @@ from . import views
def create_app() -> Flask:
container = Container()
- container.config.from_yaml('config.yml')
- container.config.github.auth_token.from_env('GITHUB_TOKEN')
- container.wire(modules=[views])
+ container.config.github.auth_token.from_env("GITHUB_TOKEN")
app = Flask(__name__)
app.container = container
- app.add_url_rule('/', 'index', views.index)
+ app.add_url_rule("/", "index", views.index)
bootstrap = Bootstrap()
bootstrap.init_app(app)
diff --git a/examples/miniapps/flask/githubnavigator/containers.py b/examples/miniapps/flask/githubnavigator/containers.py
index d2a0e7ca..228e2c08 100644
--- a/examples/miniapps/flask/githubnavigator/containers.py
+++ b/examples/miniapps/flask/githubnavigator/containers.py
@@ -8,7 +8,9 @@ from . import services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(modules=[".views"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
github_client = providers.Factory(
Github,
diff --git a/examples/miniapps/flask/githubnavigator/services.py b/examples/miniapps/flask/githubnavigator/services.py
index 9c6ff839..3e80a7ec 100644
--- a/examples/miniapps/flask/githubnavigator/services.py
+++ b/examples/miniapps/flask/githubnavigator/services.py
@@ -15,7 +15,7 @@ class SearchService:
"""Search for repositories and return formatted data."""
repositories = self._github_client.search_repositories(
query=query,
- **{'in': 'name'},
+ **{"in": "name"},
)
return [
self._format_repo(repository)
@@ -25,20 +25,20 @@ class SearchService:
def _format_repo(self, repository: Repository):
commits = repository.get_commits()
return {
- 'url': repository.html_url,
- 'name': repository.name,
- 'owner': {
- 'login': repository.owner.login,
- 'url': repository.owner.html_url,
- 'avatar_url': repository.owner.avatar_url,
+ "url": repository.html_url,
+ "name": repository.name,
+ "owner": {
+ "login": repository.owner.login,
+ "url": repository.owner.html_url,
+ "avatar_url": repository.owner.avatar_url,
},
- 'latest_commit': self._format_commit(commits[0]) if commits else {},
+ "latest_commit": self._format_commit(commits[0]) if commits else {},
}
def _format_commit(self, commit: Commit):
return {
- 'sha': commit.sha,
- 'url': commit.html_url,
- 'message': commit.commit.message,
- 'author_name': commit.commit.author.name,
+ "sha": commit.sha,
+ "url": commit.html_url,
+ "message": commit.commit.message,
+ "author_name": commit.commit.author.name,
}
diff --git a/examples/miniapps/flask/githubnavigator/tests.py b/examples/miniapps/flask/githubnavigator/tests.py
index a8618467..70d2fb03 100644
--- a/examples/miniapps/flask/githubnavigator/tests.py
+++ b/examples/miniapps/flask/githubnavigator/tests.py
@@ -20,44 +20,44 @@ def test_index(client, app):
github_client_mock = mock.Mock(spec=Github)
github_client_mock.search_repositories.return_value = [
mock.Mock(
- html_url='repo1-url',
- name='repo1-name',
+ html_url="repo1-url",
+ name="repo1-name",
owner=mock.Mock(
- login='owner1-login',
- html_url='owner1-url',
- avatar_url='owner1-avatar-url',
+ login="owner1-login",
+ html_url="owner1-url",
+ avatar_url="owner1-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
mock.Mock(
- html_url='repo2-url',
- name='repo2-name',
+ html_url="repo2-url",
+ name="repo2-name",
owner=mock.Mock(
- login='owner2-login',
- html_url='owner2-url',
- avatar_url='owner2-avatar-url',
+ login="owner2-login",
+ html_url="owner2-url",
+ avatar_url="owner2-avatar-url",
),
get_commits=mock.Mock(return_value=[mock.Mock()]),
),
]
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('index'))
+ response = client.get(url_for("index"))
assert response.status_code == 200
- assert b'Results found: 2' in response.data
+ assert b"Results found: 2" in response.data
- assert b'repo1-url' in response.data
- assert b'repo1-name' in response.data
- assert b'owner1-login' in response.data
- assert b'owner1-url' in response.data
- assert b'owner1-avatar-url' in response.data
+ assert b"repo1-url" in response.data
+ assert b"repo1-name" in response.data
+ assert b"owner1-login" in response.data
+ assert b"owner1-url" in response.data
+ assert b"owner1-avatar-url" in response.data
- assert b'repo2-url' in response.data
- assert b'repo2-name' in response.data
- assert b'owner2-login' in response.data
- assert b'owner2-url' in response.data
- assert b'owner2-avatar-url' in response.data
+ assert b"repo2-url" in response.data
+ assert b"repo2-name" in response.data
+ assert b"owner2-login" in response.data
+ assert b"owner2-url" in response.data
+ assert b"owner2-avatar-url" in response.data
def test_index_no_results(client, app):
@@ -65,7 +65,7 @@ def test_index_no_results(client, app):
github_client_mock.search_repositories.return_value = []
with app.container.github_client.override(github_client_mock):
- response = client.get(url_for('index'))
+ response = client.get(url_for("index"))
assert response.status_code == 200
- assert b'Results found: 0' in response.data
+ assert b"Results found: 0" in response.data
diff --git a/examples/miniapps/flask/githubnavigator/views.py b/examples/miniapps/flask/githubnavigator/views.py
index 5cccdad2..9061936d 100644
--- a/examples/miniapps/flask/githubnavigator/views.py
+++ b/examples/miniapps/flask/githubnavigator/views.py
@@ -13,13 +13,13 @@ def index(
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
):
- query = request.args.get('query', default_query)
- limit = request.args.get('limit', default_limit, int)
+ query = request.args.get("query", default_query)
+ limit = request.args.get("limit", default_limit, int)
repositories = search_service.search_repositories(query, limit)
return render_template(
- 'index.html',
+ "index.html",
query=query,
limit=limit,
repositories=repositories,
diff --git a/examples/miniapps/movie-lister/README.rst b/examples/miniapps/movie-lister/README.rst
index cdcbc20c..1600d9e3 100644
--- a/examples/miniapps/movie-lister/README.rst
+++ b/examples/miniapps/movie-lister/README.rst
@@ -58,21 +58,21 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: cov-3.0.0
collected 2 items
movies/tests.py .. [100%]
- ---------- coverage: platform darwin, python 3.8.5-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10 -----------
Name Stmts Miss Cover
------------------------------------------
movies/__init__.py 0 0 100%
- movies/__main__.py 18 18 0%
+ movies/__main__.py 16 16 0%
movies/containers.py 9 0 100%
movies/entities.py 7 1 86%
movies/finders.py 26 13 50%
movies/listers.py 8 0 100%
- movies/tests.py 24 0 100%
+ movies/tests.py 23 0 100%
------------------------------------------
- TOTAL 92 32 65%
+ TOTAL 89 30 66%
diff --git a/examples/miniapps/movie-lister/data/fixtures.py b/examples/miniapps/movie-lister/data/fixtures.py
index 2870d04d..aa1691d5 100644
--- a/examples/miniapps/movie-lister/data/fixtures.py
+++ b/examples/miniapps/movie-lister/data/fixtures.py
@@ -6,19 +6,19 @@ import pathlib
SAMPLE_DATA = [
- ('The Hunger Games: Mockingjay - Part 2', 2015, 'Francis Lawrence'),
- ('Rogue One: A Star Wars Story', 2016, 'Gareth Edwards'),
- ('The Jungle Book', 2016, 'Jon Favreau'),
+ ("The Hunger Games: Mockingjay - Part 2", 2015, "Francis Lawrence"),
+ ("Rogue One: A Star Wars Story", 2016, "Gareth Edwards"),
+ ("The Jungle Book", 2016, "Jon Favreau"),
]
FILE = pathlib.Path(__file__)
DIR = FILE.parent
-CSV_FILE = DIR / 'movies.csv'
-SQLITE_FILE = DIR / 'movies.db'
+CSV_FILE = DIR / "movies.csv"
+SQLITE_FILE = DIR / "movies.db"
def create_csv(movies_data, path):
- with open(path, 'w') as opened_file:
+ with open(path, "w") as opened_file:
writer = csv.writer(opened_file)
for row in movies_data:
writer.writerow(row)
@@ -27,18 +27,18 @@ def create_csv(movies_data, path):
def create_sqlite(movies_data, path):
with sqlite3.connect(path) as db:
db.execute(
- 'CREATE TABLE IF NOT EXISTS movies '
- '(title text, year int, director text)'
+ "CREATE TABLE IF NOT EXISTS movies "
+ "(title text, year int, director text)"
)
- db.execute('DELETE FROM movies')
- db.executemany('INSERT INTO movies VALUES (?,?,?)', movies_data)
+ db.execute("DELETE FROM movies")
+ db.executemany("INSERT INTO movies VALUES (?,?,?)", movies_data)
def main():
create_csv(SAMPLE_DATA, CSV_FILE)
create_sqlite(SAMPLE_DATA, SQLITE_FILE)
- print('OK')
+ print("OK")
-if __name__ == '__main__':
+if __name__ == "__main__":
main()
diff --git a/examples/miniapps/movie-lister/movies/__main__.py b/examples/miniapps/movie-lister/movies/__main__.py
index 975618f3..88df5147 100644
--- a/examples/miniapps/movie-lister/movies/__main__.py
+++ b/examples/miniapps/movie-lister/movies/__main__.py
@@ -1,8 +1,6 @@
"""Main module."""
-import sys
-
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from .listers import MovieLister
from .containers import Container
@@ -10,19 +8,18 @@ from .containers import Container
@inject
def main(lister: MovieLister = Provide[Container.lister]) -> None:
- print('Francis Lawrence movies:')
- for movie in lister.movies_directed_by('Francis Lawrence'):
- print('\t-', movie)
+ print("Francis Lawrence movies:")
+ for movie in lister.movies_directed_by("Francis Lawrence"):
+ print("\t-", movie)
- print('2016 movies:')
+ print("2016 movies:")
for movie in lister.movies_released_in(2016):
- print('\t-', movie)
+ print("\t-", movie)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.from_yaml('config.yml')
- container.config.finder.type.from_env('MOVIE_FINDER_TYPE')
- container.wire(modules=[sys.modules[__name__]])
+ container.config.finder.type.from_env("MOVIE_FINDER_TYPE")
+ container.wire(modules=[__name__])
main()
diff --git a/examples/miniapps/movie-lister/movies/containers.py b/examples/miniapps/movie-lister/movies/containers.py
index 9d30fbfb..889e4bb9 100644
--- a/examples/miniapps/movie-lister/movies/containers.py
+++ b/examples/miniapps/movie-lister/movies/containers.py
@@ -7,7 +7,7 @@ from . import finders, listers, entities
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ config = providers.Configuration(yaml_files=["config.yml"])
movie = providers.Factory(entities.Movie)
diff --git a/examples/miniapps/movie-lister/movies/entities.py b/examples/miniapps/movie-lister/movies/entities.py
index ccd27256..7d2882ef 100644
--- a/examples/miniapps/movie-lister/movies/entities.py
+++ b/examples/miniapps/movie-lister/movies/entities.py
@@ -9,7 +9,7 @@ class Movie:
self.director = str(director)
def __repr__(self):
- return '{0}(title={1}, year={2}, director={3})'.format(
+ return "{0}(title={1}, year={2}, director={3})".format(
self.__class__.__name__,
repr(self.title),
repr(self.year),
diff --git a/examples/miniapps/movie-lister/movies/finders.py b/examples/miniapps/movie-lister/movies/finders.py
index 3485d8c3..52b8ed55 100644
--- a/examples/miniapps/movie-lister/movies/finders.py
+++ b/examples/miniapps/movie-lister/movies/finders.py
@@ -46,5 +46,5 @@ class SqliteMovieFinder(MovieFinder):
def find_all(self) -> List[Movie]:
with self._database as db:
- rows = db.execute('SELECT title, year, director FROM movies')
+ rows = db.execute("SELECT title, year, director FROM movies")
return [self._movie_factory(*row) for row in rows]
diff --git a/examples/miniapps/movie-lister/movies/tests.py b/examples/miniapps/movie-lister/movies/tests.py
index eea04c81..1b29d824 100644
--- a/examples/miniapps/movie-lister/movies/tests.py
+++ b/examples/miniapps/movie-lister/movies/tests.py
@@ -9,42 +9,43 @@ from .containers import Container
@pytest.fixture
def container():
- container = Container()
- container.config.from_dict({
- 'finder': {
- 'type': 'csv',
- 'csv': {
- 'path': '/fake-movies.csv',
- 'delimiter': ',',
- },
- 'sqlite': {
- 'path': '/fake-movies.db',
+ container = Container(
+ config={
+ "finder": {
+ "type": "csv",
+ "csv": {
+ "path": "/fake-movies.csv",
+ "delimiter": ",",
+ },
+ "sqlite": {
+ "path": "/fake-movies.db",
+ },
},
},
- })
+ )
return container
def test_movies_directed_by(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
- container.movie('The 33', 2015, 'Patricia Riggen'),
- container.movie('The Jungle Book', 2016, 'Jon Favreau'),
+ container.movie("The 33", 2015, "Patricia Riggen"),
+ container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
with container.finder.override(finder_mock):
lister = container.lister()
- movies = lister.movies_directed_by('Jon Favreau')
+ movies = lister.movies_directed_by("Jon Favreau")
assert len(movies) == 1
- assert movies[0].title == 'The Jungle Book'
+ assert movies[0].title == "The Jungle Book"
def test_movies_released_in(container):
finder_mock = mock.Mock()
finder_mock.find_all.return_value = [
- container.movie('The 33', 2015, 'Patricia Riggen'),
- container.movie('The Jungle Book', 2016, 'Jon Favreau'),
+ container.movie("The 33", 2015, "Patricia Riggen"),
+ container.movie("The Jungle Book", 2016, "Jon Favreau"),
]
with container.finder.override(finder_mock):
@@ -52,4 +53,4 @@ def test_movies_released_in(container):
movies = lister.movies_released_in(2015)
assert len(movies) == 1
- assert movies[0].title == 'The 33'
+ assert movies[0].title == "The 33"
diff --git a/examples/miniapps/password-hashing/example.py b/examples/miniapps/password-hashing/example.py
index e9d042b9..c4d6d239 100644
--- a/examples/miniapps/password-hashing/example.py
+++ b/examples/miniapps/password-hashing/example.py
@@ -15,8 +15,8 @@ class UserService:
def create_user(self, name: str, password: str) -> Dict[str, str]:
hashed_password = self._password_hasher(password)
return {
- 'name': name,
- 'password': hashed_password,
+ "name": name,
+ "password": hashed_password,
}
@@ -36,15 +36,15 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container(
config={
- 'salt_size': 16,
- 'rounds': 10000,
+ "salt_size": 16,
+ "rounds": 10000,
},
)
user_service = container.user_service()
- user = user_service.create_user(name='Roman', password='secret1')
+ user = user_service.create_user(name="Roman", password="secret1")
print(user)
diff --git a/examples/miniapps/sanic/README.rst b/examples/miniapps/sanic/README.rst
index adce2810..d50b8552 100644
--- a/examples/miniapps/sanic/README.rst
+++ b/examples/miniapps/sanic/README.rst
@@ -98,22 +98,22 @@ The output should be something like:
.. code-block::
- platform darwin -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
- plugins: cov-2.10.0, sanic-1.6.1
+ platform darwin -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
+ plugins: sanic-1.9.1, anyio-3.3.4, cov-3.0.0
collected 3 items
giphynavigator/tests.py ... [100%]
- ---------- coverage: platform darwin, python 3.8.3-final-0 -----------
+ ---------- coverage: platform darwin, python 3.10.0-final-0 ----------
Name Stmts Miss Cover
---------------------------------------------------
giphynavigator/__init__.py 0 0 100%
giphynavigator/__main__.py 4 4 0%
- giphynavigator/application.py 12 0 100%
- giphynavigator/containers.py 6 0 100%
+ giphynavigator/application.py 10 0 100%
+ giphynavigator/containers.py 7 0 100%
giphynavigator/giphy.py 14 9 36%
giphynavigator/handlers.py 11 0 100%
giphynavigator/services.py 9 1 89%
- giphynavigator/tests.py 34 0 100%
+ giphynavigator/tests.py 39 0 100%
---------------------------------------------------
- TOTAL 90 14 84%
+ TOTAL 94 14 85%
diff --git a/examples/miniapps/sanic/giphynavigator/__main__.py b/examples/miniapps/sanic/giphynavigator/__main__.py
index 5c7f8360..01ec5b74 100644
--- a/examples/miniapps/sanic/giphynavigator/__main__.py
+++ b/examples/miniapps/sanic/giphynavigator/__main__.py
@@ -3,6 +3,6 @@
from .application import create_app
-if __name__ == '__main__':
+if __name__ == "__main__":
app = create_app()
- app.run(host='0.0.0.0', port=8000, debug=True)
+ app.run(host="0.0.0.0", port=8000, debug=True)
diff --git a/examples/miniapps/sanic/giphynavigator/application.py b/examples/miniapps/sanic/giphynavigator/application.py
index 1fb9655f..4613f660 100644
--- a/examples/miniapps/sanic/giphynavigator/application.py
+++ b/examples/miniapps/sanic/giphynavigator/application.py
@@ -9,11 +9,9 @@ from . import handlers
def create_app() -> Sanic:
"""Create and return Sanic application."""
container = Container()
- container.config.from_yaml('config.yml')
- container.config.giphy.api_key.from_env('GIPHY_API_KEY')
- container.wire(modules=[handlers])
+ container.config.giphy.api_key.from_env("GIPHY_API_KEY")
- app = Sanic('Giphy Navigator')
- app.container = container
- app.add_route(handlers.index, '/')
+ app = Sanic("giphy-navigator")
+ app.ctx.container = container
+ app.add_route(handlers.index, "/")
return app
diff --git a/examples/miniapps/sanic/giphynavigator/containers.py b/examples/miniapps/sanic/giphynavigator/containers.py
index 730c162e..19dc5de7 100644
--- a/examples/miniapps/sanic/giphynavigator/containers.py
+++ b/examples/miniapps/sanic/giphynavigator/containers.py
@@ -7,7 +7,9 @@ from . import giphy, services
class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
+ wiring_config = containers.WiringConfiguration(modules=[".handlers"])
+
+ config = providers.Configuration(yaml_files=["config.yml"])
giphy_client = providers.Factory(
giphy.GiphyClient,
diff --git a/examples/miniapps/sanic/giphynavigator/giphy.py b/examples/miniapps/sanic/giphynavigator/giphy.py
index 22a5f6a4..bab017c5 100644
--- a/examples/miniapps/sanic/giphynavigator/giphy.py
+++ b/examples/miniapps/sanic/giphynavigator/giphy.py
@@ -5,7 +5,7 @@ from aiohttp import ClientSession, ClientTimeout
class GiphyClient:
- API_URL = 'https://api.giphy.com/v1'
+ API_URL = "https://api.giphy.com/v1"
def __init__(self, api_key, timeout):
self._api_key = api_key
@@ -13,11 +13,11 @@ class GiphyClient:
async def search(self, query, limit):
"""Make search API call and return result."""
- url = f'{self.API_URL}/gifs/search'
+ url = f"{self.API_URL}/gifs/search"
params = {
- 'q': query,
- 'api_key': self._api_key,
- 'limit': limit,
+ "q": query,
+ "api_key": self._api_key,
+ "limit": limit,
}
async with ClientSession(timeout=self._timeout) as session:
async with session.get(url, params=params) as response:
diff --git a/examples/miniapps/sanic/giphynavigator/handlers.py b/examples/miniapps/sanic/giphynavigator/handlers.py
index 3537827d..94ac735b 100644
--- a/examples/miniapps/sanic/giphynavigator/handlers.py
+++ b/examples/miniapps/sanic/giphynavigator/handlers.py
@@ -15,15 +15,15 @@ async def index(
default_query: str = Provide[Container.config.default.query],
default_limit: int = Provide[Container.config.default.limit.as_int()],
) -> HTTPResponse:
- query = request.args.get('query', default_query)
- limit = int(request.args.get('limit', default_limit))
+ query = request.args.get("query", default_query)
+ limit = int(request.args.get("limit", default_limit))
gifs = await search_service.search(query, limit)
return json(
{
- 'query': query,
- 'limit': limit,
- 'gifs': gifs,
+ "query": query,
+ "limit": limit,
+ "gifs": gifs,
},
)
diff --git a/examples/miniapps/sanic/giphynavigator/services.py b/examples/miniapps/sanic/giphynavigator/services.py
index 1c86e0d7..1ee6eb64 100644
--- a/examples/miniapps/sanic/giphynavigator/services.py
+++ b/examples/miniapps/sanic/giphynavigator/services.py
@@ -15,4 +15,4 @@ class SearchService:
result = await self._giphy_client.search(query, limit)
- return [{'url': gif['url']} for gif in result['data']]
+ return [{"url": gif["url"]} for gif in result["data"]]
diff --git a/examples/miniapps/sanic/giphynavigator/tests.py b/examples/miniapps/sanic/giphynavigator/tests.py
index c4a14256..097848de 100644
--- a/examples/miniapps/sanic/giphynavigator/tests.py
+++ b/examples/miniapps/sanic/giphynavigator/tests.py
@@ -3,6 +3,7 @@
from unittest import mock
import pytest
+from sanic import Sanic
from giphynavigator.application import create_app
from giphynavigator.giphy import GiphyClient
@@ -10,65 +11,71 @@ from giphynavigator.giphy import GiphyClient
@pytest.fixture
def app():
+ Sanic.test_mode = True
app = create_app()
yield app
- app.container.unwire()
+ app.ctx.container.unwire()
-async def test_index(app):
+@pytest.fixture
+def test_client(loop, app, sanic_client):
+ return loop.run_until_complete(sanic_client(app))
+
+
+async def test_index(app, test_client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "data": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
- with app.container.giphy_client.override(giphy_client_mock):
- _, response = await app.asgi_client.get(
- '/',
+ with app.ctx.container.giphy_client.override(giphy_client_mock):
+ response = await test_client.get(
+ "/",
params={
- 'query': 'test',
- 'limit': 10,
+ "query": "test",
+ "limit": 10,
},
)
- assert response.status == 200
+ assert response.status_code == 200
data = response.json()
assert data == {
- 'query': 'test',
- 'limit': 10,
- 'gifs': [
- {'url': 'https://giphy.com/gif1.gif'},
- {'url': 'https://giphy.com/gif2.gif'},
+ "query": "test",
+ "limit": 10,
+ "gifs": [
+ {"url": "https://giphy.com/gif1.gif"},
+ {"url": "https://giphy.com/gif2.gif"},
],
}
-async def test_index_no_data(app):
+async def test_index_no_data(app, test_client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
- with app.container.giphy_client.override(giphy_client_mock):
- _, response = await app.asgi_client.get('/')
+ with app.ctx.container.giphy_client.override(giphy_client_mock):
+ response = await test_client.get("/")
- assert response.status == 200
+ assert response.status_code == 200
data = response.json()
- assert data['gifs'] == []
+ assert data["gifs"] == []
-async def test_index_default_params(app):
+async def test_index_default_params(app, test_client):
giphy_client_mock = mock.AsyncMock(spec=GiphyClient)
giphy_client_mock.search.return_value = {
- 'data': [],
+ "data": [],
}
- with app.container.giphy_client.override(giphy_client_mock):
- _, response = await app.asgi_client.get('/')
+ with app.ctx.container.giphy_client.override(giphy_client_mock):
+ response = await test_client.get("/")
- assert response.status == 200
+ assert response.status_code == 200
data = response.json()
- assert data['query'] == app.container.config.default.query()
- assert data['limit'] == app.container.config.default.limit()
+ assert data["query"] == app.ctx.container.config.default.query()
+ assert data["limit"] == app.ctx.container.config.default.limit()
diff --git a/examples/miniapps/sanic/requirements.txt b/examples/miniapps/sanic/requirements.txt
index 5e90f0d3..7e4352ab 100644
--- a/examples/miniapps/sanic/requirements.txt
+++ b/examples/miniapps/sanic/requirements.txt
@@ -1,5 +1,5 @@
dependency-injector
-sanic
+sanic<=21.6
aiohttp
pyyaml
pytest-sanic
diff --git a/examples/miniapps/use-cases/example/__main__.py b/examples/miniapps/use-cases/example/__main__.py
index 01d6741c..0d13b743 100644
--- a/examples/miniapps/use-cases/example/__main__.py
+++ b/examples/miniapps/use-cases/example/__main__.py
@@ -6,12 +6,12 @@ from .containers import UseCases, Adapters, TestAdapters
def main(environment: str, email: str) -> None:
- if environment == 'prod':
+ if environment == "prod":
adapters = Adapters()
- elif environment == 'test':
+ elif environment == "test":
adapters = TestAdapters()
else:
- raise RuntimeError('Unknown environment')
+ raise RuntimeError("Unknown environment")
use_cases = UseCases(adapters=adapters)
@@ -19,5 +19,5 @@ def main(environment: str, email: str) -> None:
use_case.execute(email)
-if __name__ == '__main__':
+if __name__ == "__main__":
main(*sys.argv[1:])
diff --git a/examples/miniapps/use-cases/example/adapters.py b/examples/miniapps/use-cases/example/adapters.py
index c84496a4..bd99a129 100644
--- a/examples/miniapps/use-cases/example/adapters.py
+++ b/examples/miniapps/use-cases/example/adapters.py
@@ -13,10 +13,10 @@ class EmailSender(metaclass=abc.ABCMeta):
class SmtpEmailSender:
def send(self, to: str, body: str) -> None:
- print(f'Sending an email to {to} over SMTP, body="{body}"')
+ print(f"Sending an email to {to} over SMTP, body=\"{body}\"")
class EchoEmailSender:
def send(self, to: str, body: str) -> None:
- print(f'Fake sending an email to {to}, body="{body}"')
+ print(f"Fake sending an email to {to}, body=\"{body}\"")
diff --git a/examples/miniapps/use-cases/example/usecases.py b/examples/miniapps/use-cases/example/usecases.py
index dd03f5c7..3a648476 100644
--- a/examples/miniapps/use-cases/example/usecases.py
+++ b/examples/miniapps/use-cases/example/usecases.py
@@ -18,5 +18,5 @@ class SignupUseCase:
self.email_sender = email_sender
def execute(self, email: str) -> None:
- print(f'Sign up user {email}')
- self.email_sender.send(email, f'Welcome, {email}')
+ print(f"Sign up user {email}")
+ self.email_sender.send(email, f"Welcome, {email}")
diff --git a/examples/providers/abstract_factory.py b/examples/providers/abstract_factory.py
index f67a66fb..ccdab3d5 100644
--- a/examples/providers/abstract_factory.py
+++ b/examples/providers/abstract_factory.py
@@ -41,26 +41,26 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- cache_type = random.choice(['redis', 'memcached'])
- if cache_type == 'redis':
+ cache_type = random.choice(["redis", "memcached"])
+ if cache_type == "redis":
container.cache_client_factory.override(
providers.Factory(
RedisCacheClient,
- host='localhost',
+ host="localhost",
port=6379,
db=0,
),
)
- elif cache_type == 'memcached':
+ elif cache_type == "memcached":
container.cache_client_factory.override(
providers.Factory(
MemcachedCacheClient,
- hosts=['10.0.1.1'],
+ hosts=["10.0.1.1"],
port=11211,
- prefix='my_app',
+ prefix="my_app",
),
)
@@ -68,12 +68,12 @@ if __name__ == '__main__':
print(service.cache)
# The output depends on cache_type variable value.
#
- # If the value is 'redis':
- # RedisCacheClient(host='localhost', port=6379, db=0)
+ # If the value is "redis":
+ # RedisCacheClient(host="localhost", port=6379, db=0)
#
- # If the value is 'memcached':
- # MemcachedCacheClient(hosts=['10.0.1.1'], port=11211, prefix='my_app')
+ # If the value is "memcached":
+ # MemcachedCacheClient(hosts=["10.0.1.1"], port=11211, prefix="my_app")
#
# If the value is None:
- # Error: AbstractFactory() must be
+ # Error: AbstractFactory() must be
# overridden before calling
diff --git a/examples/providers/async.py b/examples/providers/async.py
index 297b3b2f..767d9263 100644
--- a/examples/providers/async.py
+++ b/examples/providers/async.py
@@ -7,7 +7,7 @@ from dependency_injector import containers, providers
async def init_async_resource():
await asyncio.sleep(0.1)
- yield 'Initialized'
+ yield "Initialized"
class Service:
@@ -31,7 +31,7 @@ async def main(container: Container):
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
asyncio.run(main(container))
diff --git a/examples/providers/async_overriding.py b/examples/providers/async_overriding.py
index fc3ce320..ecd3c724 100644
--- a/examples/providers/async_overriding.py
+++ b/examples/providers/async_overriding.py
@@ -26,7 +26,7 @@ async def main(container: Container):
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
asyncio.run(main(container))
diff --git a/examples/providers/callable.py b/examples/providers/callable.py
index 82d18e38..6cd39f9d 100644
--- a/examples/providers/callable.py
+++ b/examples/providers/callable.py
@@ -16,8 +16,8 @@ class Container(containers.DeclarativeContainer):
password_verifier = providers.Callable(passlib.hash.sha256_crypt.verify)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- hashed_password = container.password_hasher('super secret')
- assert container.password_verifier('super secret', hashed_password)
+ hashed_password = container.password_hasher("super secret")
+ assert container.password_verifier("super secret", hashed_password)
diff --git a/examples/providers/configuration/configuration.py b/examples/providers/configuration/configuration.py
index 7a11cbfc..a596467e 100644
--- a/examples/providers/configuration/configuration.py
+++ b/examples/providers/configuration/configuration.py
@@ -10,19 +10,19 @@ class Container(containers.DeclarativeContainer):
s3_client_factory = providers.Factory(
boto3.client,
- 's3',
+ "s3",
aws_access_key_id=config.aws.access_key_id,
aws_secret_access_key=config.aws.secret_access_key,
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.config.from_dict(
{
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
},
},
)
diff --git a/examples/providers/configuration/configuration_alias.py b/examples/providers/configuration/configuration_alias.py
index 4cc02b7e..87b8b321 100644
--- a/examples/providers/configuration/configuration_alias.py
+++ b/examples/providers/configuration/configuration_alias.py
@@ -9,14 +9,14 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
env = Env()
container = Container()
with container.config.some_plugin_name as plugin:
plugin.some_interval_ms.override(
env.int(
- 'SOME_INTERVAL_MS',
+ "SOME_INTERVAL_MS",
default=30000,
),
)
@@ -24,13 +24,13 @@ if __name__ == '__main__':
with plugin.kafka as kafka:
kafka.bootstrap_servers.override(
env.list(
- 'KAFKA_BOOTSTRAP_SERVERS',
- default=['kafka1', 'kafka2'],
+ "KAFKA_BOOTSTRAP_SERVERS",
+ default=["kafka1", "kafka2"],
),
)
kafka.security_protocol.override(
env.str(
- 'KAFKA_SECURITY_PROTOCOL',
- default='SASL_SSL',
+ "KAFKA_SECURITY_PROTOCOL",
+ default="SASL_SSL",
),
)
diff --git a/examples/providers/configuration/configuration_dict.py b/examples/providers/configuration/configuration_dict.py
index d5669ccc..60154a96 100644
--- a/examples/providers/configuration/configuration_dict.py
+++ b/examples/providers/configuration/configuration_dict.py
@@ -8,27 +8,27 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.config.from_dict(
{
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
},
},
)
assert container.config() == {
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
},
}
assert container.config.aws() == {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
}
- assert container.config.aws.access_key_id() == 'KEY'
- assert container.config.aws.secret_access_key() == 'SECRET'
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
diff --git a/examples/providers/configuration/configuration_env.py b/examples/providers/configuration/configuration_env.py
index b9d491bc..98a579a9 100644
--- a/examples/providers/configuration/configuration_env.py
+++ b/examples/providers/configuration/configuration_env.py
@@ -10,17 +10,17 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
# Emulate environment variables
- os.environ['AWS_ACCESS_KEY_ID'] = 'KEY'
- os.environ['AWS_SECRET_ACCESS_KEY'] = 'SECRET'
+ os.environ["AWS_ACCESS_KEY_ID"] = "KEY"
+ os.environ["AWS_SECRET_ACCESS_KEY"] = "SECRET"
- container.config.aws.access_key_id.from_env('AWS_ACCESS_KEY_ID')
- container.config.aws.secret_access_key.from_env('AWS_SECRET_ACCESS_KEY')
- container.config.optional.from_env('UNDEFINED', 'default_value')
+ container.config.aws.access_key_id.from_env("AWS_ACCESS_KEY_ID")
+ container.config.aws.secret_access_key.from_env("AWS_SECRET_ACCESS_KEY")
+ container.config.optional.from_env("UNDEFINED", "default_value")
- assert container.config.aws.access_key_id() == 'KEY'
- assert container.config.aws.secret_access_key() == 'SECRET'
- assert container.config.optional() == 'default_value'
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
+ assert container.config.optional() == "default_value"
diff --git a/examples/providers/configuration/configuration_env_interpolation_os_default.py b/examples/providers/configuration/configuration_env_interpolation_os_default.py
index 527192ac..e033cc88 100644
--- a/examples/providers/configuration/configuration_env_interpolation_os_default.py
+++ b/examples/providers/configuration/configuration_env_interpolation_os_default.py
@@ -10,10 +10,10 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
- os.environ.setdefault('ENV_VAR', 'default value')
+if __name__ == "__main__":
+ os.environ.setdefault("ENV_VAR", "default value")
container = Container()
- container.config.from_yaml('config-with-env-var.yml')
+ container.config.from_yaml("config-with-env-var.yml")
- assert container.config.section.option() == 'default value'
+ assert container.config.section.option() == "default value"
diff --git a/examples/providers/configuration/configuration_ini.py b/examples/providers/configuration/configuration_ini.py
index 98783bd0..21fdc994 100644
--- a/examples/providers/configuration/configuration_ini.py
+++ b/examples/providers/configuration/configuration_ini.py
@@ -8,20 +8,20 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.from_ini('examples/providers/configuration/config.ini')
+ container.config.from_ini("./config.ini")
assert container.config() == {
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
},
}
assert container.config.aws() == {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
}
- assert container.config.aws.access_key_id() == 'KEY'
- assert container.config.aws.secret_access_key() == 'SECRET'
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
diff --git a/examples/providers/configuration/configuration_ini_init.py b/examples/providers/configuration/configuration_ini_init.py
new file mode 100644
index 00000000..cc4dfe24
--- /dev/null
+++ b/examples/providers/configuration/configuration_ini_init.py
@@ -0,0 +1,25 @@
+"""`Configuration` provider values loading example."""
+
+from dependency_injector import containers, providers
+
+
+class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(ini_files=["./config.ini"])
+
+
+if __name__ == "__main__":
+ container = Container()
+
+ assert container.config() == {
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ }
+ assert container.config.aws() == {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ }
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
diff --git a/examples/providers/configuration/configuration_itemselector.py b/examples/providers/configuration/configuration_itemselector.py
index eb257843..11addb8e 100644
--- a/examples/providers/configuration/configuration_itemselector.py
+++ b/examples/providers/configuration/configuration_itemselector.py
@@ -14,15 +14,15 @@ class Foo:
class Container(containers.DeclarativeContainer):
config = providers.Configuration(default={
- 'target': 'A',
- 'items': {
- 'A': {
- 'option1': 60,
- 'option2': 80,
+ "target": "A",
+ "items": {
+ "A": {
+ "option1": 60,
+ "option2": 80,
},
- 'B': {
- 'option1': 10,
- 'option2': 20,
+ "B": {
+ "option1": 10,
+ "option2": 20,
},
},
})
@@ -34,10 +34,10 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.target.from_env('TARGET')
+ container.config.target.from_env("TARGET")
foo = container.foo_factory()
print(foo.option1, foo.option2)
diff --git a/examples/providers/configuration/configuration_multiple.py b/examples/providers/configuration/configuration_multiple.py
index ac95b3e2..907f82e5 100644
--- a/examples/providers/configuration/configuration_multiple.py
+++ b/examples/providers/configuration/configuration_multiple.py
@@ -8,21 +8,21 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.from_yaml('examples/providers/configuration/config.yml')
- container.config.from_yaml('examples/providers/configuration/config.local.yml')
+ container.config.from_yaml("./config.yml")
+ container.config.from_yaml("./config.local.yml")
assert container.config() == {
- 'aws': {
- 'access_key_id': 'LOCAL-KEY',
- 'secret_access_key': 'LOCAL-SECRET',
+ "aws": {
+ "access_key_id": "LOCAL-KEY",
+ "secret_access_key": "LOCAL-SECRET",
},
}
assert container.config.aws() == {
- 'access_key_id': 'LOCAL-KEY',
- 'secret_access_key': 'LOCAL-SECRET',
+ "access_key_id": "LOCAL-KEY",
+ "secret_access_key": "LOCAL-SECRET",
}
- assert container.config.aws.access_key_id() == 'LOCAL-KEY'
- assert container.config.aws.secret_access_key() == 'LOCAL-SECRET'
+ assert container.config.aws.access_key_id() == "LOCAL-KEY"
+ assert container.config.aws.secret_access_key() == "LOCAL-SECRET"
diff --git a/examples/providers/configuration/configuration_pydantic.py b/examples/providers/configuration/configuration_pydantic.py
index 7dd20460..aaed5d26 100644
--- a/examples/providers/configuration/configuration_pydantic.py
+++ b/examples/providers/configuration/configuration_pydantic.py
@@ -6,20 +6,20 @@ from dependency_injector import containers, providers
from pydantic import BaseSettings, Field
# Emulate environment variables
-os.environ['AWS_ACCESS_KEY_ID'] = 'KEY'
-os.environ['AWS_SECRET_ACCESS_KEY'] = 'SECRET'
+os.environ["AWS_ACCESS_KEY_ID"] = "KEY"
+os.environ["AWS_SECRET_ACCESS_KEY"] = "SECRET"
class AwsSettings(BaseSettings):
- access_key_id: str = Field(env='aws_access_key_id')
- secret_access_key: str = Field(env='aws_secret_access_key')
+ access_key_id: str = Field(env="aws_access_key_id")
+ secret_access_key: str = Field(env="aws_secret_access_key")
class Settings(BaseSettings):
aws: AwsSettings = AwsSettings()
- optional: str = Field(default='default_value')
+ optional: str = Field(default="default_value")
class Container(containers.DeclarativeContainer):
@@ -27,11 +27,11 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.config.from_pydantic(Settings())
- assert container.config.aws.access_key_id() == 'KEY'
- assert container.config.aws.secret_access_key() == 'SECRET'
- assert container.config.optional() == 'default_value'
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
+ assert container.config.optional() == "default_value"
diff --git a/examples/providers/configuration/configuration_pydantic_init.py b/examples/providers/configuration/configuration_pydantic_init.py
new file mode 100644
index 00000000..f904d9df
--- /dev/null
+++ b/examples/providers/configuration/configuration_pydantic_init.py
@@ -0,0 +1,35 @@
+"""`Configuration` provider values loading example."""
+
+import os
+
+from dependency_injector import containers, providers
+from pydantic import BaseSettings, Field
+
+# Emulate environment variables
+os.environ["AWS_ACCESS_KEY_ID"] = "KEY"
+os.environ["AWS_SECRET_ACCESS_KEY"] = "SECRET"
+
+
+class AwsSettings(BaseSettings):
+
+ access_key_id: str = Field(env="aws_access_key_id")
+ secret_access_key: str = Field(env="aws_secret_access_key")
+
+
+class Settings(BaseSettings):
+
+ aws: AwsSettings = AwsSettings()
+ optional: str = Field(default="default_value")
+
+
+class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(pydantic_settings=[Settings()])
+
+
+if __name__ == "__main__":
+ container = Container()
+
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
+ assert container.config.optional() == "default_value"
diff --git a/examples/providers/configuration/configuration_required.py b/examples/providers/configuration/configuration_required.py
index 6e77f27f..54c91932 100644
--- a/examples/providers/configuration/configuration_required.py
+++ b/examples/providers/configuration/configuration_required.py
@@ -20,7 +20,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
try:
diff --git a/examples/providers/configuration/configuration_strict.py b/examples/providers/configuration/configuration_strict.py
index 3922f450..74868a07 100644
--- a/examples/providers/configuration/configuration_strict.py
+++ b/examples/providers/configuration/configuration_strict.py
@@ -20,7 +20,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
try:
diff --git a/examples/providers/configuration/configuration_type.py b/examples/providers/configuration/configuration_type.py
index 8c8e044d..407a3597 100644
--- a/examples/providers/configuration/configuration_type.py
+++ b/examples/providers/configuration/configuration_type.py
@@ -22,17 +22,17 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
# Emulate environment variables
- os.environ['API_KEY'] = 'secret'
- os.environ['API_TIMEOUT'] = '5'
+ os.environ["API_KEY"] = "secret"
+ os.environ["API_TIMEOUT"] = "5"
- container.config.api.key.from_env('API_KEY')
- container.config.api.timeout.from_env('API_TIMEOUT')
+ container.config.api.key.from_env("API_KEY")
+ container.config.api.timeout.from_env("API_TIMEOUT")
api_client = container.api_client_factory()
- assert api_client.api_key == 'secret'
+ assert api_client.api_key == "secret"
assert api_client.timeout == 5
diff --git a/examples/providers/configuration/configuration_type_custom.py b/examples/providers/configuration/configuration_type_custom.py
index 6782ab52..cac285a0 100644
--- a/examples/providers/configuration/configuration_type_custom.py
+++ b/examples/providers/configuration/configuration_type_custom.py
@@ -21,14 +21,14 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
# Emulate environment variables
- os.environ['PI'] = '3.1415926535897932384626433832'
+ os.environ["PI"] = "3.1415926535897932384626433832"
- container.config.pi.from_env('PI')
+ container.config.pi.from_env("PI")
calculator = container.calculator_factory()
- assert calculator.pi == decimal.Decimal('3.1415926535897932384626433832')
+ assert calculator.pi == decimal.Decimal("3.1415926535897932384626433832")
diff --git a/examples/providers/configuration/configuration_value.py b/examples/providers/configuration/configuration_value.py
index 3e9c3125..456af119 100644
--- a/examples/providers/configuration/configuration_value.py
+++ b/examples/providers/configuration/configuration_value.py
@@ -10,15 +10,15 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.config.option1.from_value(date(2021, 6, 13))
container.config.option2.from_value(date(2021, 6, 14))
assert container.config() == {
- 'option1': date(2021, 6, 13),
- 'option2': date(2021, 6, 14),
+ "option1": date(2021, 6, 13),
+ "option2": date(2021, 6, 14),
}
assert container.config.option1() == date(2021, 6, 13)
assert container.config.option2() == date(2021, 6, 14)
diff --git a/examples/providers/configuration/configuration_yaml.py b/examples/providers/configuration/configuration_yaml.py
index d281aaf0..a347a296 100644
--- a/examples/providers/configuration/configuration_yaml.py
+++ b/examples/providers/configuration/configuration_yaml.py
@@ -8,20 +8,20 @@ class Container(containers.DeclarativeContainer):
config = providers.Configuration()
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.from_yaml('examples/providers/configuration/config.yml')
+ container.config.from_yaml("./config.yml")
assert container.config() == {
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
},
}
assert container.config.aws() == {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
}
- assert container.config.aws.access_key_id() == 'KEY'
- assert container.config.aws.secret_access_key() == 'SECRET'
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
diff --git a/examples/providers/configuration/configuration_yaml_init.py b/examples/providers/configuration/configuration_yaml_init.py
new file mode 100644
index 00000000..40c018f2
--- /dev/null
+++ b/examples/providers/configuration/configuration_yaml_init.py
@@ -0,0 +1,25 @@
+"""`Configuration` provider values loading example."""
+
+from dependency_injector import containers, providers
+
+
+class Container(containers.DeclarativeContainer):
+
+ config = providers.Configuration(yaml_files=["./config.yml"])
+
+
+if __name__ == "__main__":
+ container = Container()
+
+ assert container.config() == {
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ }
+ assert container.config.aws() == {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ }
+ assert container.config.aws.access_key_id() == "KEY"
+ assert container.config.aws.secret_access_key() == "SECRET"
diff --git a/examples/providers/coroutine.py b/examples/providers/coroutine.py
index d42689ba..a6009b45 100644
--- a/examples/providers/coroutine.py
+++ b/examples/providers/coroutine.py
@@ -15,7 +15,7 @@ class Container(containers.DeclarativeContainer):
coroutine_provider = providers.Coroutine(coroutine, arg1=1, arg2=2)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
arg1, arg2 = asyncio.run(container.coroutine_provider())
diff --git a/examples/providers/custom_factory.py b/examples/providers/custom_factory.py
index 159e93af..bd0c17f1 100644
--- a/examples/providers/custom_factory.py
+++ b/examples/providers/custom_factory.py
@@ -5,7 +5,7 @@ from dependency_injector import containers, providers
class CustomFactory(providers.Provider):
- __slots__ = ('_factory',)
+ __slots__ = ("_factory",)
def __init__(self, provides, *args, **kwargs):
self._factory = providers.Factory(provides, *args, **kwargs)
@@ -40,7 +40,7 @@ class Container(containers.DeclarativeContainer):
factory = CustomFactory(object)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
object1 = container.factory()
diff --git a/examples/providers/dependency.py b/examples/providers/dependency.py
index c1b7b03f..e53b6dc4 100644
--- a/examples/providers/dependency.py
+++ b/examples/providers/dependency.py
@@ -33,7 +33,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container1 = Container(database=providers.Singleton(SqliteDbAdapter))
container2 = Container(database=providers.Singleton(PostgresDbAdapter))
diff --git a/examples/providers/dependency_default.py b/examples/providers/dependency_default.py
index 756229df..ad06dc11 100644
--- a/examples/providers/dependency_default.py
+++ b/examples/providers/dependency_default.py
@@ -18,7 +18,7 @@ class Container(containers.DeclarativeContainer):
cache = providers.Dependency(instance_of=Cache, default=InMemoryCache())
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
cache = container.cache() # provides InMemoryCache()
diff --git a/examples/providers/dependency_undefined_error.py b/examples/providers/dependency_undefined_error.py
index d7ee2cbc..60684f00 100644
--- a/examples/providers/dependency_undefined_error.py
+++ b/examples/providers/dependency_undefined_error.py
@@ -25,7 +25,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
container.user_service() # <-- raises error:
# Dependency "Container.database" is not defined
diff --git a/examples/providers/dict.py b/examples/providers/dict.py
index 75f1a51e..871c1871 100644
--- a/examples/providers/dict.py
+++ b/examples/providers/dict.py
@@ -21,25 +21,25 @@ class Container(containers.DeclarativeContainer):
dispatcher_factory = providers.Factory(
Dispatcher,
modules=providers.Dict(
- module1=providers.Factory(Module, name='m1'),
- module2=providers.Factory(Module, name='m2'),
+ module1=providers.Factory(Module, name="m1"),
+ module2=providers.Factory(Module, name="m2"),
),
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
dispatcher = container.dispatcher_factory()
assert isinstance(dispatcher.modules, dict)
- assert dispatcher.modules['module1'].name == 'm1'
- assert dispatcher.modules['module2'].name == 'm2'
+ assert dispatcher.modules["module1"].name == "m1"
+ assert dispatcher.modules["module2"].name == "m2"
# Call "dispatcher = container.dispatcher_factory()" is equivalent to:
# dispatcher = Dispatcher(
# modules={
- # 'module1': Module(name='m1'),
- # 'module2': Module(name='m2'),
+ # "module1": Module(name="m1"),
+ # "module2": Module(name="m2"),
# },
# )
diff --git a/examples/providers/dict_non_string_keys.py b/examples/providers/dict_non_string_keys.py
index 11c7a593..52982078 100644
--- a/examples/providers/dict_non_string_keys.py
+++ b/examples/providers/dict_non_string_keys.py
@@ -46,7 +46,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
dispatcher = container.dispatcher_factory()
diff --git a/examples/providers/factory.py b/examples/providers/factory.py
index 7fa38386..65d1ccf3 100644
--- a/examples/providers/factory.py
+++ b/examples/providers/factory.py
@@ -12,7 +12,7 @@ class Container(containers.DeclarativeContainer):
user_factory = providers.Factory(User)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user1 = container.user_factory()
diff --git a/examples/providers/factory_aggregate.py b/examples/providers/factory_aggregate.py
index 299e17cc..a8775274 100644
--- a/examples/providers/factory_aggregate.py
+++ b/examples/providers/factory_aggregate.py
@@ -13,8 +13,8 @@ class Game:
def play(self):
print(
- f'{self.player1} and {self.player2} are '
- f'playing {self.__class__.__name__.lower()}'
+ f"{self.player1} and {self.player2} are "
+ f"playing {self.__class__.__name__.lower()}"
)
@@ -39,7 +39,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
game_type = sys.argv[1].lower()
player1 = sys.argv[2].capitalize()
player2 = sys.argv[3].capitalize()
diff --git a/examples/providers/factory_attribute_injections.py b/examples/providers/factory_attribute_injections.py
index f2d83e4b..ea242316 100644
--- a/examples/providers/factory_attribute_injections.py
+++ b/examples/providers/factory_attribute_injections.py
@@ -20,7 +20,7 @@ class Container(containers.DeclarativeContainer):
service.add_attributes(client=client)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
service = container.service()
diff --git a/examples/providers/factory_delegation.py b/examples/providers/factory_delegation.py
index 7112ab3a..3e64129d 100644
--- a/examples/providers/factory_delegation.py
+++ b/examples/providers/factory_delegation.py
@@ -17,7 +17,7 @@ class UserRepository:
def get_all(self) -> List[User]:
return [
self.user_factory(**user_data)
- for user_data in [{'uid': 1}, {'uid': 2}]
+ for user_data in [{"uid": 1}, {"uid": 2}]
]
@@ -31,7 +31,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user_repository = container.user_repository_factory()
diff --git a/examples/providers/factory_init_injections.py b/examples/providers/factory_init_injections.py
index 134d5b16..ec035a93 100644
--- a/examples/providers/factory_init_injections.py
+++ b/examples/providers/factory_init_injections.py
@@ -23,7 +23,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user1 = container.user_factory(1)
diff --git a/examples/providers/factory_init_injections_underlying.py b/examples/providers/factory_init_injections_underlying.py
index cc291a6a..de1130f3 100644
--- a/examples/providers/factory_init_injections_underlying.py
+++ b/examples/providers/factory_init_injections_underlying.py
@@ -39,7 +39,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
algorithm_1 = container.algorithm_factory(
diff --git a/examples/providers/factory_provided_type.py b/examples/providers/factory_provided_type.py
index bcf80b71..c750028f 100644
--- a/examples/providers/factory_provided_type.py
+++ b/examples/providers/factory_provided_type.py
@@ -29,5 +29,5 @@ try:
except errors.Error as exception:
print(exception)
# The output is:
- # can provide only
- # instances
+ # can provide only
+ # instances
diff --git a/examples/providers/list.py b/examples/providers/list.py
index d7096e62..254f3a3c 100644
--- a/examples/providers/list.py
+++ b/examples/providers/list.py
@@ -21,25 +21,25 @@ class Container(containers.DeclarativeContainer):
dispatcher_factory = providers.Factory(
Dispatcher,
modules=providers.List(
- providers.Factory(Module, name='m1'),
- providers.Factory(Module, name='m2'),
+ providers.Factory(Module, name="m1"),
+ providers.Factory(Module, name="m2"),
),
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
dispatcher = container.dispatcher_factory()
assert isinstance(dispatcher.modules, list)
- assert dispatcher.modules[0].name == 'm1'
- assert dispatcher.modules[1].name == 'm2'
+ assert dispatcher.modules[0].name == "m1"
+ assert dispatcher.modules[1].name == "m2"
# Call "dispatcher = container.dispatcher_factory()" is equivalent to:
# dispatcher = Dispatcher(
# modules=[
- # Module(name='m1'),
- # Module(name='m2'),
+ # Module(name="m1"),
+ # Module(name="m2"),
# ],
# )
diff --git a/examples/providers/object.py b/examples/providers/object.py
index d0066153..9a635e2d 100644
--- a/examples/providers/object.py
+++ b/examples/providers/object.py
@@ -8,7 +8,7 @@ class Container(containers.DeclarativeContainer):
object_provider = providers.Object(1)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
assert container.object_provider() == 1
diff --git a/examples/providers/overriding.py b/examples/providers/overriding.py
index 9627667c..ca2868c1 100644
--- a/examples/providers/overriding.py
+++ b/examples/providers/overriding.py
@@ -29,7 +29,7 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
# 1. Use .override() to replace the API client with stub
diff --git a/examples/providers/provided_instance.py b/examples/providers/provided_instance.py
index bf63bc6f..46416e48 100644
--- a/examples/providers/provided_instance.py
+++ b/examples/providers/provided_instance.py
@@ -5,7 +5,7 @@ from dependency_injector import containers, providers
class Service:
def __init__(self):
- self.value = 'foo'
+ self.value = "foo"
self.values = [self.value]
def get_value(self):
@@ -36,8 +36,8 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
client = container.client_factory()
- assert client.value1 == client.value2 == client.value3 == 'foo'
+ assert client.value1 == client.value2 == client.value3 == "foo"
diff --git a/examples/providers/provided_instance_complex.py b/examples/providers/provided_instance_complex.py
index 108e1ebf..5a2d42d4 100644
--- a/examples/providers/provided_instance_complex.py
+++ b/examples/providers/provided_instance_complex.py
@@ -18,23 +18,23 @@ class Container(containers.DeclarativeContainer):
dependency = providers.Object(
{
- 'foo': {
- 'bar': 10,
- 'baz': lambda arg: {'arg': arg}
+ "foo": {
+ "bar": 10,
+ "baz": lambda arg: {"arg": arg}
},
},
)
demo_list = providers.List(
- dependency.provided['foo']['bar'],
- dependency.provided['foo']['baz'].call(22)['arg'],
- dependency.provided['foo']['baz'].call(service)['arg'],
- dependency.provided['foo']['baz'].call(service)['arg'].value,
- dependency.provided['foo']['baz'].call(service)['arg'].get_value.call(),
+ dependency.provided["foo"]["bar"],
+ dependency.provided["foo"]["baz"].call(22)["arg"],
+ dependency.provided["foo"]["baz"].call(service)["arg"],
+ dependency.provided["foo"]["baz"].call(service)["arg"].value,
+ dependency.provided["foo"]["baz"].call(service)["arg"].get_value.call(),
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
assert container.demo_list() == [
diff --git a/examples/providers/resource.py b/examples/providers/resource.py
index 41daa041..2079a929 100644
--- a/examples/providers/resource.py
+++ b/examples/providers/resource.py
@@ -29,12 +29,12 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
- container = Container(config={'max_workers': 4})
+if __name__ == "__main__":
+ container = Container(config={"max_workers": 4})
container.init_resources()
- logging.info('Resources are initialized')
+ logging.info("Resources are initialized")
thread_pool = container.thread_pool()
thread_pool.map(print, range(10))
diff --git a/examples/providers/selector.py b/examples/providers/selector.py
index 88166ec4..4ab232bc 100644
--- a/examples/providers/selector.py
+++ b/examples/providers/selector.py
@@ -22,13 +22,13 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.config.override({'one_or_another': 'one'})
+ container.config.override({"one_or_another": "one"})
instance_1 = container.selector()
assert isinstance(instance_1, SomeClass)
- container.config.override({'one_or_another': 'another'})
+ container.config.override({"one_or_another": "another"})
instance_2 = container.selector()
assert isinstance(instance_2, SomeOtherClass)
diff --git a/examples/providers/singleton.py b/examples/providers/singleton.py
index f1083895..d8842a29 100644
--- a/examples/providers/singleton.py
+++ b/examples/providers/singleton.py
@@ -12,7 +12,7 @@ class Container(containers.DeclarativeContainer):
user_service_provider = providers.Singleton(UserService)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user_service1 = container.user_service_provider()
diff --git a/examples/providers/singleton_full_resetting.py b/examples/providers/singleton_full_resetting.py
index e3394c8c..512b2073 100644
--- a/examples/providers/singleton_full_resetting.py
+++ b/examples/providers/singleton_full_resetting.py
@@ -19,7 +19,7 @@ class Container(containers.DeclarativeContainer):
user_service = providers.Singleton(UserService, db=database)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user_service1 = container.user_service()
diff --git a/examples/providers/singleton_multiple_containers.py b/examples/providers/singleton_multiple_containers.py
index 7b5e4fab..40f5fb1b 100644
--- a/examples/providers/singleton_multiple_containers.py
+++ b/examples/providers/singleton_multiple_containers.py
@@ -12,7 +12,7 @@ class Container(containers.DeclarativeContainer):
user_service_provider = providers.Singleton(UserService)
-if __name__ == '__main__':
+if __name__ == "__main__":
container1 = Container()
user_service1 = container1.user_service_provider()
assert user_service1 is container1.user_service_provider()
diff --git a/examples/providers/singleton_resetting.py b/examples/providers/singleton_resetting.py
index a436f188..faa1cf81 100644
--- a/examples/providers/singleton_resetting.py
+++ b/examples/providers/singleton_resetting.py
@@ -12,7 +12,7 @@ class Container(containers.DeclarativeContainer):
user_service = providers.Singleton(UserService)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user_service1 = container.user_service()
diff --git a/examples/providers/singleton_resetting_with.py b/examples/providers/singleton_resetting_with.py
index fe52996b..37ecaa66 100644
--- a/examples/providers/singleton_resetting_with.py
+++ b/examples/providers/singleton_resetting_with.py
@@ -12,7 +12,7 @@ class Container(containers.DeclarativeContainer):
user_service = providers.Singleton(UserService)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
user_service1 = container.user_service()
diff --git a/examples/providers/singleton_scoped.py b/examples/providers/singleton_scoped.py
index a07c74e5..597bda29 100644
--- a/examples/providers/singleton_scoped.py
+++ b/examples/providers/singleton_scoped.py
@@ -18,7 +18,7 @@ def index_view():
service_2 = current_app.container.service_provider()
assert service_1 is service_2
print(service_1)
- return 'Hello World!'
+ return "Hello World!"
def teardown_context(request):
@@ -30,9 +30,9 @@ container = Container()
app = Flask(__name__)
app.container = container
-app.add_url_rule('/', 'index', view_func=index_view)
+app.add_url_rule("/", "index", view_func=index_view)
app.after_request(teardown_context)
-if __name__ == '__main__':
+if __name__ == "__main__":
app.run()
diff --git a/examples/providers/singleton_thread_locals.py b/examples/providers/singleton_thread_locals.py
index 1255d718..2b51b1d2 100644
--- a/examples/providers/singleton_thread_locals.py
+++ b/examples/providers/singleton_thread_locals.py
@@ -28,14 +28,14 @@ class Container(containers.DeclarativeContainer):
)
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
n = 10
threads = []
for thread_number in range(n):
threads.append(
- container.thread_factory(name='Thread{0}'.format(thread_number)),
+ container.thread_factory(name="Thread{0}".format(thread_number)),
)
for thread in threads:
thread.start()
diff --git a/examples/wiring/example.py b/examples/wiring/example.py
index 7a62e830..4221ab13 100644
--- a/examples/wiring/example.py
+++ b/examples/wiring/example.py
@@ -1,9 +1,7 @@
"""Wiring example."""
-import sys
-
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
class Service:
@@ -20,8 +18,8 @@ def main(service: Service = Provide[Container.service]) -> None:
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
diff --git a/examples/wiring/example_attribute.py b/examples/wiring/example_attribute.py
index 9868ae66..3d703da4 100644
--- a/examples/wiring/example_attribute.py
+++ b/examples/wiring/example_attribute.py
@@ -1,7 +1,5 @@
"""Wiring attribute example."""
-import sys
-
from dependency_injector import containers, providers
from dependency_injector.wiring import Provide
@@ -23,9 +21,9 @@ class Main:
service: Service = Provide[Container.service]
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
assert isinstance(service, Service)
assert isinstance(Main.service, Service)
diff --git a/examples/wiring/example_container.py b/examples/wiring/example_container.py
index 71a56870..06011250 100644
--- a/examples/wiring/example_container.py
+++ b/examples/wiring/example_container.py
@@ -1,9 +1,7 @@
"""Wiring container injection example."""
-import sys
-
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
class Service:
@@ -21,8 +19,8 @@ def main(container: Container = Provide[Container]):
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
diff --git a/examples/wiring/example_string_id.py b/examples/wiring/example_string_id.py
index c18fb4fb..a66b4666 100644
--- a/examples/wiring/example_string_id.py
+++ b/examples/wiring/example_string_id.py
@@ -1,9 +1,7 @@
"""Wiring string id example."""
-import sys
-
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
class Service:
@@ -16,12 +14,12 @@ class Container(containers.DeclarativeContainer):
@inject
-def main(service: Service = Provide['service']) -> None:
+def main(service: Service = Provide["service"]) -> None:
...
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
main()
diff --git a/examples/wiring/flask_example.py b/examples/wiring/flask_example.py
index 033d0ee9..27457e16 100644
--- a/examples/wiring/flask_example.py
+++ b/examples/wiring/flask_example.py
@@ -1,9 +1,7 @@
"""Flask wiring example."""
-import sys
-
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide
+from dependency_injector.wiring import Provide, inject
from flask import Flask, json
@@ -18,13 +16,13 @@ class Container(containers.DeclarativeContainer):
@inject
def index_view(service: Service = Provide[Container.service]) -> str:
- return json.dumps({'service_id': id(service)})
+ return json.dumps({"service_id": id(service)})
-if __name__ == '__main__':
+if __name__ == "__main__":
container = Container()
- container.wire(modules=[sys.modules[__name__]])
+ container.wire(modules=[__name__])
app = Flask(__name__)
- app.add_url_rule('/', 'index', index_view)
+ app.add_url_rule("/", "index", index_view)
app.run()
diff --git a/examples/wiring/flask_resource_closing.py b/examples/wiring/flask_resource_closing.py
index 05b62c37..0efc6874 100644
--- a/examples/wiring/flask_resource_closing.py
+++ b/examples/wiring/flask_resource_closing.py
@@ -1,9 +1,7 @@
"""`Resource` - Flask request scope example."""
-import sys
-
from dependency_injector import containers, providers
-from dependency_injector.wiring import inject, Provide, Closing
+from dependency_injector.wiring import Closing, Provide, inject
from flask import Flask, current_app
@@ -12,9 +10,9 @@ class Service:
def init_service() -> Service:
- print('Init service')
+ print("Init service")
yield Service()
- print('Shutdown service')
+ print("Shutdown service")
class Container(containers.DeclarativeContainer):
@@ -25,16 +23,16 @@ class Container(containers.DeclarativeContainer):
@inject
def index_view(service: Service = Closing[Provide[Container.service]]):
assert service is current_app.container.service()
- return 'Hello World!'
+ return "Hello World!"
container = Container()
-container.wire(modules=[sys.modules[__name__]])
+container.wire(modules=[__name__])
app = Flask(__name__)
app.container = container
-app.add_url_rule('/', 'index', view_func=index_view)
+app.add_url_rule("/", "index", view_func=index_view)
-if __name__ == '__main__':
+if __name__ == "__main__":
app.run()
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 201a4de2..d65906ac 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,4 +1,6 @@
-cython==0.29.22
+cython==0.29.24
+pytest
+pytest-asyncio
tox
coverage
flake8
diff --git a/setup.py b/setup.py
index 0a47d594..6fb33ed3 100644
--- a/setup.py
+++ b/setup.py
@@ -8,111 +8,111 @@ from setuptools import setup, Extension
# Defining setup variables:
defined_macros = dict()
-defined_macros['CYTHON_CLINE_IN_TRACEBACK'] = 0
+defined_macros["CYTHON_CLINE_IN_TRACEBACK"] = 0
# Getting description:
-with open('README.rst') as readme_file:
+with open("README.rst") as readme_file:
description = readme_file.read()
# Getting requirements:
-with open('requirements.txt') as requirements_file:
+with open("requirements.txt") as requirements_file:
requirements = requirements_file.readlines()
# Getting version:
-with open('src/dependency_injector/__init__.py') as init_file:
- version = re.search('__version__ = \'(.*?)\'', init_file.read()).group(1)
+with open("src/dependency_injector/__init__.py") as init_file:
+ version = re.search("__version__ = \"(.*?)\"", init_file.read()).group(1)
# Adding debug options:
-if os.environ.get('DEPENDENCY_INJECTOR_DEBUG_MODE') == '1':
- defined_macros['CYTHON_TRACE'] = 1
- defined_macros['CYTHON_TRACE_NOGIL'] = 1
- defined_macros['CYTHON_CLINE_IN_TRACEBACK'] = 1
+if os.environ.get("DEPENDENCY_INJECTOR_DEBUG_MODE") == "1":
+ defined_macros["CYTHON_TRACE"] = 1
+ defined_macros["CYTHON_TRACE_NOGIL"] = 1
+ defined_macros["CYTHON_CLINE_IN_TRACEBACK"] = 1
-setup(name='dependency-injector',
+setup(name="dependency-injector",
version=version,
- description='Dependency injection framework for Python',
+ description="Dependency injection framework for Python",
long_description=description,
- author='Roman Mogylatov',
- author_email='rmogilatov@gmail.com',
- maintainer='Roman Mogylatov',
- maintainer_email='rmogilatov@gmail.com',
- url='https://github.com/ets-labs/python-dependency-injector',
- download_url='https://pypi.python.org/pypi/dependency_injector',
+ author="Roman Mogylatov",
+ author_email="rmogilatov@gmail.com",
+ maintainer="Roman Mogylatov",
+ maintainer_email="rmogilatov@gmail.com",
+ url="https://github.com/ets-labs/python-dependency-injector",
+ download_url="https://pypi.python.org/pypi/dependency_injector",
packages=[
- 'dependency_injector',
- 'dependency_injector.ext',
+ "dependency_injector",
+ "dependency_injector.ext",
],
package_dir={
- '': 'src',
+ "": "src",
},
package_data={
- 'dependency_injector': ['*.pxd', '*.pyi', 'py.typed'],
+ "dependency_injector": ["*.pxd", "*.pyi", "py.typed"],
},
ext_modules=[
- Extension('dependency_injector.containers',
- ['src/dependency_injector/containers.c'],
+ Extension("dependency_injector.containers",
+ ["src/dependency_injector/containers.c"],
define_macros=list(defined_macros.items()),
- extra_compile_args=['-O2']),
- Extension('dependency_injector.providers',
- ['src/dependency_injector/providers.c'],
+ extra_compile_args=["-O2"]),
+ Extension("dependency_injector.providers",
+ ["src/dependency_injector/providers.c"],
define_macros=list(defined_macros.items()),
- extra_compile_args=['-O2']),
+ extra_compile_args=["-O2"]),
],
install_requires=requirements,
extras_require={
- 'yaml': [
- 'pyyaml',
+ "yaml": [
+ "pyyaml",
],
- 'pydantic': [
- 'pydantic',
+ "pydantic": [
+ "pydantic",
],
- 'flask': [
- 'flask',
+ "flask": [
+ "flask",
],
- 'aiohttp': [
- 'aiohttp',
+ "aiohttp": [
+ "aiohttp",
],
},
zip_safe=True,
- license='BSD New',
- platforms=['any'],
+ license="BSD New",
+ platforms=["any"],
keywords=[
- 'Dependency injection',
- 'DI',
- 'Inversion of Control',
- 'IoC',
- 'Factory',
- 'Singleton',
- 'Design patterns',
- 'Flask',
+ "Dependency injection",
+ "DI",
+ "Inversion of Control",
+ "IoC",
+ "Factory",
+ "Singleton",
+ "Design patterns",
+ "Flask",
],
classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: BSD License',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: 3.9',
- 'Programming Language :: Python :: Implementation :: CPython',
- 'Programming Language :: Python :: Implementation :: PyPy',
- 'Framework :: AsyncIO',
- 'Framework :: Bottle',
- 'Framework :: Django',
- 'Framework :: Flask',
- 'Framework :: Pylons',
- 'Framework :: Pyramid',
- 'Framework :: Pytest',
- 'Framework :: TurboGears',
- 'Topic :: Software Development',
- 'Topic :: Software Development :: Libraries',
- 'Topic :: Software Development :: Libraries :: Python Modules',
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: Implementation :: CPython",
+ "Programming Language :: Python :: Implementation :: PyPy",
+ "Framework :: AsyncIO",
+ "Framework :: Bottle",
+ "Framework :: Django",
+ "Framework :: Flask",
+ "Framework :: Pylons",
+ "Framework :: Pyramid",
+ "Framework :: Pytest",
+ "Framework :: TurboGears",
+ "Topic :: Software Development",
+ "Topic :: Software Development :: Libraries",
+ "Topic :: Software Development :: Libraries :: Python Modules",
])
diff --git a/src/dependency_injector/__init__.py b/src/dependency_injector/__init__.py
index cdbb9c59..21266bc9 100644
--- a/src/dependency_injector/__init__.py
+++ b/src/dependency_injector/__init__.py
@@ -1,6 +1,6 @@
"""Top-level package."""
-__version__ = '4.36.2'
+__version__ = "4.37.0"
"""Version number.
:type: str
diff --git a/src/dependency_injector/containers.c b/src/dependency_injector/containers.c
index 8dd97a06..caaeb5da 100644
--- a/src/dependency_injector/containers.c
+++ b/src/dependency_injector/containers.c
@@ -1,14 +1,16 @@
-/* Generated by Cython 0.29.22 */
+/* Generated by Cython 0.29.24 */
+#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
+#endif /* PY_SSIZE_T_CLEAN */
#include "Python.h"
#ifndef Py_PYTHON_H
#error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.6+ or Python 3.3+.
#else
-#define CYTHON_ABI "0_29_22"
-#define CYTHON_HEX_VERSION 0x001D16F0
+#define CYTHON_ABI "0_29_24"
+#define CYTHON_HEX_VERSION 0x001D18F0
#define CYTHON_FUTURE_DIVISION 0
#include
#ifndef offsetof
@@ -426,8 +428,12 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
#define CYTHON_PEP393_ENABLED 1
+ #if defined(PyUnicode_IS_READY)
#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
0 : _PyUnicode_Ready((PyObject *)(op)))
+ #else
+ #define __Pyx_PyUnicode_READY(op) (0)
+ #endif
#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
@@ -436,7 +442,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
#if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+ #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
+ #else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+ #endif
#else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
#endif
@@ -885,7 +895,7 @@ struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_void____object____object____obj
struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_object____object____object___to_py;
struct __pyx_opt_args_19dependency_injector_9providers_deepcopy;
-/* "providers.pxd":334
+/* "providers.pxd":337
*
*
* cpdef object deepcopy(object instance, dict memo=*) # <<<<<<<<<<<<<<
@@ -1137,11 +1147,14 @@ struct __pyx_obj_19dependency_injector_9providers_Configuration {
PyObject *__pyx___name;
int __pyx___strict;
PyObject *__pyx___children;
+ PyObject *__pyx___yaml_files;
+ PyObject *__pyx___ini_files;
+ PyObject *__pyx___pydantic_settings;
PyObject *__weakref__;
};
-/* "providers.pxd":121
+/* "providers.pxd":124
*
* # Factory providers
* cdef class Factory(Provider): # <<<<<<<<<<<<<<
@@ -1156,7 +1169,7 @@ struct __pyx_obj_19dependency_injector_9providers_Factory {
};
-/* "providers.pxd":130
+/* "providers.pxd":133
*
*
* cdef class DelegatedFactory(Factory): # <<<<<<<<<<<<<<
@@ -1168,7 +1181,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory {
};
-/* "providers.pxd":134
+/* "providers.pxd":137
*
*
* cdef class AbstractFactory(Factory): # <<<<<<<<<<<<<<
@@ -1180,7 +1193,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractFactory {
};
-/* "providers.pxd":138
+/* "providers.pxd":141
*
*
* cdef class FactoryDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -1192,7 +1205,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate {
};
-/* "providers.pxd":142
+/* "providers.pxd":145
*
*
* cdef class FactoryAggregate(Provider): # <<<<<<<<<<<<<<
@@ -1205,7 +1218,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate {
};
-/* "providers.pxd":149
+/* "providers.pxd":152
*
* # Singleton providers
* cdef class BaseSingleton(Provider): # <<<<<<<<<<<<<<
@@ -1219,7 +1232,7 @@ struct __pyx_obj_19dependency_injector_9providers_BaseSingleton {
};
-/* "providers.pxd":154
+/* "providers.pxd":157
*
*
* cdef class Singleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1231,7 +1244,7 @@ struct __pyx_obj_19dependency_injector_9providers_Singleton {
};
-/* "providers.pxd":159
+/* "providers.pxd":162
*
*
* cdef class DelegatedSingleton(Singleton): # <<<<<<<<<<<<<<
@@ -1243,7 +1256,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton {
};
-/* "providers.pxd":163
+/* "providers.pxd":166
*
*
* cdef class ThreadSafeSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1256,7 +1269,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton {
};
-/* "providers.pxd":169
+/* "providers.pxd":172
*
*
* cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton): # <<<<<<<<<<<<<<
@@ -1268,7 +1281,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton {
};
-/* "providers.pxd":173
+/* "providers.pxd":176
*
*
* cdef class ThreadLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1280,7 +1293,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton {
};
-/* "providers.pxd":178
+/* "providers.pxd":181
*
*
* cdef class ContextLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1292,7 +1305,7 @@ struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton {
};
-/* "providers.pxd":183
+/* "providers.pxd":186
*
*
* cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton): # <<<<<<<<<<<<<<
@@ -1304,7 +1317,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton
};
-/* "providers.pxd":187
+/* "providers.pxd":190
*
*
* cdef class AbstractSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1316,7 +1329,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton {
};
-/* "providers.pxd":191
+/* "providers.pxd":194
*
*
* cdef class SingletonDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -1328,7 +1341,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate {
};
-/* "providers.pxd":197
+/* "providers.pxd":200
* # Miscellaneous providers
*
* cdef class List(Provider): # <<<<<<<<<<<<<<
@@ -1342,7 +1355,7 @@ struct __pyx_obj_19dependency_injector_9providers_List {
};
-/* "providers.pxd":204
+/* "providers.pxd":207
*
*
* cdef class Dict(Provider): # <<<<<<<<<<<<<<
@@ -1356,7 +1369,7 @@ struct __pyx_obj_19dependency_injector_9providers_Dict {
};
-/* "providers.pxd":211
+/* "providers.pxd":214
*
*
* cdef class Resource(Provider): # <<<<<<<<<<<<<<
@@ -1376,7 +1389,7 @@ struct __pyx_obj_19dependency_injector_9providers_Resource {
};
-/* "providers.pxd":226
+/* "providers.pxd":229
*
*
* cdef class Container(Provider): # <<<<<<<<<<<<<<
@@ -1392,7 +1405,7 @@ struct __pyx_obj_19dependency_injector_9providers_Container {
};
-/* "providers.pxd":235
+/* "providers.pxd":238
*
*
* cdef class Selector(Provider): # <<<<<<<<<<<<<<
@@ -1406,7 +1419,7 @@ struct __pyx_obj_19dependency_injector_9providers_Selector {
};
-/* "providers.pxd":243
+/* "providers.pxd":246
* # Provided instance
*
* cdef class ProvidedInstance(Provider): # <<<<<<<<<<<<<<
@@ -1419,7 +1432,7 @@ struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance {
};
-/* "providers.pxd":249
+/* "providers.pxd":252
*
*
* cdef class AttributeGetter(Provider): # <<<<<<<<<<<<<<
@@ -1433,7 +1446,7 @@ struct __pyx_obj_19dependency_injector_9providers_AttributeGetter {
};
-/* "providers.pxd":256
+/* "providers.pxd":259
*
*
* cdef class ItemGetter(Provider): # <<<<<<<<<<<<<<
@@ -1447,7 +1460,7 @@ struct __pyx_obj_19dependency_injector_9providers_ItemGetter {
};
-/* "providers.pxd":263
+/* "providers.pxd":266
*
*
* cdef class MethodCaller(Provider): # <<<<<<<<<<<<<<
@@ -1464,7 +1477,7 @@ struct __pyx_obj_19dependency_injector_9providers_MethodCaller {
};
-/* "providers.pxd":274
+/* "providers.pxd":277
*
* # Injections
* cdef class Injection(object): # <<<<<<<<<<<<<<
@@ -1480,7 +1493,7 @@ struct __pyx_obj_19dependency_injector_9providers_Injection {
};
-/* "providers.pxd":281
+/* "providers.pxd":284
*
*
* cdef class PositionalInjection(Injection): # <<<<<<<<<<<<<<
@@ -1492,7 +1505,7 @@ struct __pyx_obj_19dependency_injector_9providers_PositionalInjection {
};
-/* "providers.pxd":285
+/* "providers.pxd":288
*
*
* cdef class NamedInjection(Injection): # <<<<<<<<<<<<<<
@@ -1505,7 +1518,7 @@ struct __pyx_obj_19dependency_injector_9providers_NamedInjection {
};
-/* "providers.pxd":296
+/* "providers.pxd":299
*
* # Utils
* cdef class OverridingContext(object): # <<<<<<<<<<<<<<
@@ -1519,7 +1532,7 @@ struct __pyx_obj_19dependency_injector_9providers_OverridingContext {
};
-/* "providers.pxd":301
+/* "providers.pxd":304
*
*
* cdef class BaseSingletonResetContext(object): # <<<<<<<<<<<<<<
@@ -1532,7 +1545,7 @@ struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext {
};
-/* "providers.pxd":305
+/* "providers.pxd":308
*
*
* cdef class SingletonResetContext(BaseSingletonResetContext): # <<<<<<<<<<<<<<
@@ -1544,7 +1557,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext {
};
-/* "providers.pxd":309
+/* "providers.pxd":312
*
*
* cdef class SingletonFullResetContext(BaseSingletonResetContext): # <<<<<<<<<<<<<<
@@ -1556,7 +1569,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext {
};
-/* "dependency_injector/containers.pyx":163
+/* "dependency_injector/containers.pyx":191
* }
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
@@ -1570,7 +1583,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct__traverse
};
-/* "dependency_injector/containers.pyx":291
+/* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
@@ -1584,7 +1597,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_1_shutdow
};
-/* "dependency_injector/containers.pyx":293
+/* "dependency_injector/containers.pyx":353
* def shutdown_resources(self):
* """Shutdown all container resources."""
* def _independent_resources(resources): # <<<<<<<<<<<<<<
@@ -1605,7 +1618,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_2__indepe
};
-/* "dependency_injector/containers.pyx":303
+/* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -1624,7 +1637,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_3__async_
};
-/* "dependency_injector/containers.pyx":304
+/* "dependency_injector/containers.pyx":364
*
* async def _async_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -1638,7 +1651,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_4_genexpr
};
-/* "dependency_injector/containers.pyx":315
+/* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -1652,7 +1665,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_5__sync_o
};
-/* "dependency_injector/containers.pyx":316
+/* "dependency_injector/containers.pyx":376
*
* def _sync_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -1666,7 +1679,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_6_genexpr
};
-/* "dependency_injector/containers.pyx":324
+/* "dependency_injector/containers.pyx":384
*
* resources = list(self.traverse(types=[providers.Resource]))
* if any(resource.is_async_mode_enabled() for resource in resources): # <<<<<<<<<<<<<<
@@ -1680,7 +1693,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_7_genexpr
};
-/* "dependency_injector/containers.pyx":528
+/* "dependency_injector/containers.pyx":604
* }
*
* def traverse(cls, types=None): # <<<<<<<<<<<<<<
@@ -1694,7 +1707,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_8_travers
};
-/* "dependency_injector/containers.pyx":719
+/* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
@@ -1707,7 +1720,7 @@ struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_9_overrid
};
-/* "dependency_injector/containers.pyx":736
+/* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
@@ -2004,7 +2017,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration *__pyx_vtabptr_19dependency_injector_9providers_Configuration;
-/* "providers.pxd":121
+/* "providers.pxd":124
*
* # Factory providers
* cdef class Factory(Provider): # <<<<<<<<<<<<<<
@@ -2018,7 +2031,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Factory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Factory *__pyx_vtabptr_19dependency_injector_9providers_Factory;
-/* "providers.pxd":130
+/* "providers.pxd":133
*
*
* cdef class DelegatedFactory(Factory): # <<<<<<<<<<<<<<
@@ -2032,7 +2045,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory *__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory;
-/* "providers.pxd":134
+/* "providers.pxd":137
*
*
* cdef class AbstractFactory(Factory): # <<<<<<<<<<<<<<
@@ -2046,7 +2059,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory *__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory;
-/* "providers.pxd":138
+/* "providers.pxd":141
*
*
* cdef class FactoryDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2060,7 +2073,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate *__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate;
-/* "providers.pxd":142
+/* "providers.pxd":145
*
*
* cdef class FactoryAggregate(Provider): # <<<<<<<<<<<<<<
@@ -2075,7 +2088,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate;
-/* "providers.pxd":149
+/* "providers.pxd":152
*
* # Singleton providers
* cdef class BaseSingleton(Provider): # <<<<<<<<<<<<<<
@@ -2089,7 +2102,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
-/* "providers.pxd":154
+/* "providers.pxd":157
*
*
* cdef class Singleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2103,7 +2116,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton *__pyx_vtabptr_19dependency_injector_9providers_Singleton;
-/* "providers.pxd":159
+/* "providers.pxd":162
*
*
* cdef class DelegatedSingleton(Singleton): # <<<<<<<<<<<<<<
@@ -2117,7 +2130,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton;
-/* "providers.pxd":163
+/* "providers.pxd":166
*
*
* cdef class ThreadSafeSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2131,7 +2144,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton;
-/* "providers.pxd":169
+/* "providers.pxd":172
*
*
* cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton): # <<<<<<<<<<<<<<
@@ -2145,7 +2158,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSing
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton;
-/* "providers.pxd":173
+/* "providers.pxd":176
*
*
* cdef class ThreadLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2159,7 +2172,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton;
-/* "providers.pxd":178
+/* "providers.pxd":181
*
*
* cdef class ContextLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2173,7 +2186,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton;
-/* "providers.pxd":183
+/* "providers.pxd":186
*
*
* cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton): # <<<<<<<<<<<<<<
@@ -2187,7 +2200,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSin
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton;
-/* "providers.pxd":187
+/* "providers.pxd":190
*
*
* cdef class AbstractSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2201,7 +2214,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton *__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton;
-/* "providers.pxd":191
+/* "providers.pxd":194
*
*
* cdef class SingletonDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2215,7 +2228,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate *__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate;
-/* "providers.pxd":197
+/* "providers.pxd":200
* # Miscellaneous providers
*
* cdef class List(Provider): # <<<<<<<<<<<<<<
@@ -2229,7 +2242,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_List {
static struct __pyx_vtabstruct_19dependency_injector_9providers_List *__pyx_vtabptr_19dependency_injector_9providers_List;
-/* "providers.pxd":204
+/* "providers.pxd":207
*
*
* cdef class Dict(Provider): # <<<<<<<<<<<<<<
@@ -2243,7 +2256,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Dict {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Dict *__pyx_vtabptr_19dependency_injector_9providers_Dict;
-/* "providers.pxd":211
+/* "providers.pxd":214
*
*
* cdef class Resource(Provider): # <<<<<<<<<<<<<<
@@ -2257,7 +2270,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Resource {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Resource *__pyx_vtabptr_19dependency_injector_9providers_Resource;
-/* "providers.pxd":226
+/* "providers.pxd":229
*
*
* cdef class Container(Provider): # <<<<<<<<<<<<<<
@@ -2271,7 +2284,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Container {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Container *__pyx_vtabptr_19dependency_injector_9providers_Container;
-/* "providers.pxd":235
+/* "providers.pxd":238
*
*
* cdef class Selector(Provider): # <<<<<<<<<<<<<<
@@ -2285,7 +2298,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Selector {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Selector *__pyx_vtabptr_19dependency_injector_9providers_Selector;
-/* "providers.pxd":243
+/* "providers.pxd":246
* # Provided instance
*
* cdef class ProvidedInstance(Provider): # <<<<<<<<<<<<<<
@@ -2299,7 +2312,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance *__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance;
-/* "providers.pxd":249
+/* "providers.pxd":252
*
*
* cdef class AttributeGetter(Provider): # <<<<<<<<<<<<<<
@@ -2313,7 +2326,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter *__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter;
-/* "providers.pxd":256
+/* "providers.pxd":259
*
*
* cdef class ItemGetter(Provider): # <<<<<<<<<<<<<<
@@ -2327,7 +2340,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter *__pyx_vtabptr_19dependency_injector_9providers_ItemGetter;
-/* "providers.pxd":263
+/* "providers.pxd":266
*
*
* cdef class MethodCaller(Provider): # <<<<<<<<<<<<<<
@@ -2463,6 +2476,57 @@ static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject
/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
+/* RaiseDoubleKeywords.proto */
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
+
+/* ParseKeywords.proto */
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
+ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
+ const char* function_name);
+
+/* RaiseArgTupleInvalid.proto */
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+ Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
+/* PyObjectSetAttrStr.proto */
+#if CYTHON_USE_TYPE_SLOTS
+#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
+#else
+#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
+#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
+#endif
+
+/* PyFunctionFastCall.proto */
+#if CYTHON_FAST_PYCALL
+#define __Pyx_PyFunction_FastCall(func, args, nargs)\
+ __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
+#else
+#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
+#endif
+#define __Pyx_BUILD_ASSERT_EXPR(cond)\
+ (sizeof(char [1 - 2*!(cond)]) - 1)
+#ifndef Py_MEMBER_SIZE
+#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
+#endif
+ static size_t __pyx_pyframe_localsplus_offset = 0;
+ #include "frameobject.h"
+ #define __Pxy_PyFrame_Initialize_Offsets()\
+ ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
+ (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
+ #define __Pyx_PyFrame_GetLocalsplus(frame)\
+ (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
+#endif
+
+/* PyCFunctionFastCall.proto */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
+#else
+#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
+#endif
+
/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
@@ -2510,38 +2574,6 @@ static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_ve
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif
-/* PyObjectSetAttrStr.proto */
-#if CYTHON_USE_TYPE_SLOTS
-#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
-static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
-#else
-#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
-#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
-#endif
-
-/* PyFunctionFastCall.proto */
-#if CYTHON_FAST_PYCALL
-#define __Pyx_PyFunction_FastCall(func, args, nargs)\
- __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
-#if 1 || PY_VERSION_HEX < 0x030600B1
-static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
-#else
-#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
-#endif
-#define __Pyx_BUILD_ASSERT_EXPR(cond)\
- (sizeof(char [1 - 2*!(cond)]) - 1)
-#ifndef Py_MEMBER_SIZE
-#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
-#endif
- static size_t __pyx_pyframe_localsplus_offset = 0;
- #include "frameobject.h"
- #define __Pxy_PyFrame_Initialize_Offsets()\
- ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
- (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
- #define __Pyx_PyFrame_GetLocalsplus(frame)\
- (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
-#endif
-
/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
@@ -2554,30 +2586,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif
-/* PyCFunctionFastCall.proto */
-#if CYTHON_FAST_PYCCALL
-static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
-#else
-#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
-#endif
-
-/* PyObjectCall2Args.proto */
-static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
-
/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
-/* RaiseArgTupleInvalid.proto */
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
- Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
-
-/* RaiseDoubleKeywords.proto */
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
-
-/* ParseKeywords.proto */
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
- PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
- const char* function_name);
+/* PyObjectCall2Args.proto */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
@@ -2669,6 +2682,7 @@ typedef struct {
PyObject *gi_qualname;
PyObject *gi_modulename;
PyObject *gi_code;
+ PyObject *gi_frame;
int resume_label;
char is_running;
} __pyx_CoroutineObject;
@@ -2742,12 +2756,6 @@ static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tsta
#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
#endif
-/* SliceObject.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
- PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
- PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
- int has_cstart, int has_cstop, int wraparound);
-
/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
@@ -2765,6 +2773,46 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif
+/* SliceObject.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+ PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+ PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+ int has_cstart, int has_cstop, int wraparound);
+
+/* PyObjectLookupSpecial.proto */
+#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
+ PyObject *res;
+ PyTypeObject *tp = Py_TYPE(obj);
+#if PY_MAJOR_VERSION < 3
+ if (unlikely(PyInstance_Check(obj)))
+ return __Pyx_PyObject_GetAttrStr(obj, attr_name);
+#endif
+ res = _PyType_Lookup(tp, attr_name);
+ if (likely(res)) {
+ descrgetfunc f = Py_TYPE(res)->tp_descr_get;
+ if (!f) {
+ Py_INCREF(res);
+ } else {
+ res = f(res, obj, (PyObject *)tp);
+ }
+ } else {
+ PyErr_SetObject(PyExc_AttributeError, attr_name);
+ }
+ return res;
+}
+#else
+#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
+#endif
+
+/* GetException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
+#endif
+
/* None.proto */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
@@ -2920,40 +2968,6 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
-/* PyObjectLookupSpecial.proto */
-#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
- PyObject *res;
- PyTypeObject *tp = Py_TYPE(obj);
-#if PY_MAJOR_VERSION < 3
- if (unlikely(PyInstance_Check(obj)))
- return __Pyx_PyObject_GetAttrStr(obj, attr_name);
-#endif
- res = _PyType_Lookup(tp, attr_name);
- if (likely(res)) {
- descrgetfunc f = Py_TYPE(res)->tp_descr_get;
- if (!f) {
- Py_INCREF(res);
- } else {
- res = f(res, obj, (PyObject *)tp);
- }
- } else {
- PyErr_SetObject(PyExc_AttributeError, attr_name);
- }
- return res;
-}
-#else
-#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
-#endif
-
-/* GetException.proto */
-#if CYTHON_FAST_THREAD_STATE
-#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
-static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
-#else
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
-#endif
-
/* None.proto */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
@@ -2980,6 +2994,17 @@ static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction*
#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg)
#endif
+/* dict_getitem_default.proto */
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value);
+
+/* CallUnboundCMethod2.proto */
+static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1
+static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
+#else
+#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
+#endif
+
/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
@@ -3104,15 +3129,6 @@ static PyObject* __Pyx_patch_inspect(PyObject* module);
/* PatchAsyncIO.proto */
static PyObject* __Pyx_patch_asyncio(PyObject* module);
-/* CalculateMetaclass.proto */
-static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
-
-/* Py3ClassCreate.proto */
-static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
- PyObject *mkw, PyObject *modname, PyObject *doc);
-static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
- PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
-
/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
#define __Pyx_SetNameInClass(ns, name, value)\
@@ -3124,6 +3140,15 @@ static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObj
#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
#endif
+/* CalculateMetaclass.proto */
+static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
+
+/* Py3ClassCreate.proto */
+static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
+ PyObject *mkw, PyObject *modname, PyObject *doc);
+static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
+ PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
+
/* ClassMethod.proto */
#include "descrobject.h"
static CYTHON_UNUSED PyObject* __Pyx_Method_ClassMethod(PyObject *method);
@@ -3159,15 +3184,15 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line,
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
-/* CIntToPy.proto */
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
-
/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
@@ -3288,6 +3313,10 @@ static PyTypeObject *__pyx_ptype___pyx_scope_struct____Pyx_CFunc_void____object_
static PyTypeObject *__pyx_ptype___pyx_scope_struct____Pyx_CFunc_object____object____object___to_py = 0;
static int __pyx_f_19dependency_injector_10containers_is_container(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
+static int __pyx_f_19dependency_injector_10containers__any_relative_string_imports_in(PyObject *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_string_imports(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_calling_package_name(int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_package_name_from_cls(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__Pyx_CFunc_void____object____object____object____object___to_py(void (*)(PyObject *, PyObject *, PyObject *, PyObject *)); /*proto*/
static PyObject *__Pyx_CFunc_void____object____object___to_py(void (*)(PyObject *, PyObject *)); /*proto*/
static PyObject *__Pyx_CFunc_void____object____object____object___to_py(void (*)(PyObject *, PyObject *, PyObject *)); /*proto*/
@@ -3298,6 +3327,7 @@ int __pyx_module_is_main_dependency_injector__containers = 0;
/* Implementation of 'dependency_injector.containers' */
static PyObject *__pyx_builtin_ImportError;
+static PyObject *__pyx_builtin_DeprecationWarning;
static PyObject *__pyx_builtin_object;
static PyObject *__pyx_builtin_property;
static PyObject *__pyx_builtin_staticmethod;
@@ -3310,10 +3340,11 @@ static PyObject *__pyx_builtin_open;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_zip;
static const char __pyx_k_id[] = "id";
-static const char __pyx_k__11[] = "\"";
-static const char __pyx_k__12[] = ", ";
-static const char __pyx_k__21[] = "__";
-static const char __pyx_k__30[] = "";
+static const char __pyx_k__12[] = "\"";
+static const char __pyx_k__13[] = ", ";
+static const char __pyx_k__21[] = ".";
+static const char __pyx_k__22[] = "__";
+static const char __pyx_k__31[] = "";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_get[] = "get";
@@ -3324,7 +3355,7 @@ static const char __pyx_k_six[] = "six";
static const char __pyx_k_sys[] = "sys";
static const char __pyx_k_zip[] = "zip";
static const char __pyx_k_Self[] = "Self";
-static const char __pyx_k__118[] = "_";
+static const char __pyx_k__131[] = "_";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_base[] = "base";
static const char __pyx_k_call[] = "call";
@@ -3339,9 +3370,10 @@ static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_memo[] = "memo";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_open[] = "open";
-static const char __pyx_k_self[] = "__self__";
+static const char __pyx_k_self[] = "self";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_test[] = "__test__";
+static const char __pyx_k_warn[] = "warn";
static const char __pyx_k_wire[] = "wire";
static const char __pyx_k_wrap[] = "wrap";
static const char __pyx_k_yaml[] = "yaml";
@@ -3356,11 +3388,13 @@ static const char __pyx_k_index[] = "index";
static const char __pyx_k_items[] = "items";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_reset[] = "reset";
+static const char __pyx_k_stack[] = "stack";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_types[] = "types";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_Future[] = "Future";
+static const char __pyx_k_config[] = "config";
static const char __pyx_k_copied[] = "copied";
static const char __pyx_k_errors[] = "errors";
static const char __pyx_k_extend[] = "extend";
@@ -3377,7 +3411,7 @@ static const char __pyx_k_object[] = "object";
static const char __pyx_k_parent[] = "parent";
static const char __pyx_k_result[] = "result";
static const char __pyx_k_schema[] = "schema";
-static const char __pyx_k_self_2[] = "self";
+static const char __pyx_k_self_2[] = "__self__";
static const char __pyx_k_self_3[] = "@@self@@";
static const char __pyx_k_unwire[] = "unwire";
static const char __pyx_k_update[] = "update";
@@ -3389,12 +3423,14 @@ static const char __pyx_k_futures[] = "futures";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_inspect[] = "inspect";
static const char __pyx_k_modules[] = "modules";
+static const char __pyx_k_package[] = "__package__";
static const char __pyx_k_partial[] = "partial";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_related[] = "related";
static const char __pyx_k_setattr[] = "__setattr__";
static const char __pyx_k_Provider[] = "Provider";
static const char __pyx_k_Resource[] = "Resource";
+static const char __pyx_k_category[] = "category";
static const char __pyx_k_deepcopy[] = "deepcopy";
static const char __pyx_k_filepath[] = "filepath";
static const char __pyx_k_isfuture[] = "isfuture";
@@ -3406,12 +3442,17 @@ static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_resource[] = "resource";
static const char __pyx_k_shutdown[] = "shutdown";
static const char __pyx_k_sub_memo[] = "sub_memo";
+static const char __pyx_k_suppress[] = "suppress";
static const char __pyx_k_traverse[] = "traverse";
+static const char __pyx_k_warnings[] = "warnings";
static const char __pyx_k_Container[] = "Container";
static const char __pyx_k_alt_names[] = "alt_names";
+static const char __pyx_k_auto_wire[] = "auto_wire";
static const char __pyx_k_container[] = "container";
static const char __pyx_k_decorator[] = "_decorator";
static const char __pyx_k_functools[] = "functools";
+static const char __pyx_k_getmodule[] = "getmodule";
+static const char __pyx_k_importlib[] = "importlib";
static const char __pyx_k_iteritems[] = "iteritems";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_providers[] = "providers";
@@ -3422,6 +3463,7 @@ static const char __pyx_k_SafeLoader[] = "SafeLoader";
static const char __pyx_k_attributes[] = "attributes";
static const char __pyx_k_class_name[] = "class_name";
static const char __pyx_k_containers[] = "containers";
+static const char __pyx_k_contextlib[] = "contextlib";
static const char __pyx_k_deepcopy_2[] = "__deepcopy__";
static const char __pyx_k_dependency[] = "dependency";
static const char __pyx_k_fetch_self[] = "__fetch_self";
@@ -3431,25 +3473,30 @@ static const char __pyx_k_overridden[] = "overridden";
static const char __pyx_k_overriding[] = "overriding";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_set_result[] = "set_result";
+static const char __pyx_k_startswith[] = "startswith";
static const char __pyx_k_Container_2[] = "Container \"";
static const char __pyx_k_ImportError[] = "ImportError";
static const char __pyx_k_cfunc_to_py[] = "cfunc.to_py";
static const char __pyx_k_container_2[] = "_container";
static const char __pyx_k_copied_self[] = "copied_self";
+static const char __pyx_k_copy_module[] = "copy_module";
static const char __pyx_k_from_schema[] = "from_schema";
static const char __pyx_k_initialized[] = "initialized";
static const char __pyx_k_iscoroutine[] = "iscoroutine";
+static const char __pyx_k_load_config[] = "load_config";
static const char __pyx_k_parent_name[] = "parent_name";
static const char __pyx_k_IS_CONTAINER[] = "__IS_CONTAINER__";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_build_schema[] = "build_schema";
static const char __pyx_k_dependencies[] = "dependencies";
+static const char __pyx_k_from_package[] = "from_package";
static const char __pyx_k_new_provider[] = "new_provider";
static const char __pyx_k_set_provider[] = "set_provider";
static const char __pyx_k_staticmethod[] = "staticmethod";
static const char __pyx_k_stringsource[] = "stringsource";
static const char __pyx_k_version_info[] = "version_info";
static const char __pyx_k_BaseSingleton[] = "BaseSingleton";
+static const char __pyx_k_Configuration[] = "Configuration";
static const char __pyx_k_add_metaclass[] = "add_metaclass";
static const char __pyx_k_all_providers[] = "all_providers";
static const char __pyx_k_assign_parent[] = "assign_parent";
@@ -3457,6 +3504,7 @@ static const char __pyx_k_asyncio_tasks[] = "asyncio.tasks";
static const char __pyx_k_cls_providers[] = "cls_providers";
static const char __pyx_k_ensure_future[] = "ensure_future";
static const char __pyx_k_future_result[] = "future_result";
+static const char __pyx_k_import_module[] = "import_module";
static const char __pyx_k_instance_type[] = "instance_type";
static const char __pyx_k_new_container[] = "new_container";
static const char __pyx_k_new_providers[] = "new_providers";
@@ -3466,6 +3514,7 @@ static const char __pyx_k_set_alt_names[] = "set_alt_names";
static const char __pyx_k_set_container[] = "set_container";
static const char __pyx_k_set_exception[] = "set_exception";
static const char __pyx_k_set_providers[] = "set_providers";
+static const char __pyx_k_wiring_config[] = "wiring_config";
static const char __pyx_k_AttributeError[] = "AttributeError";
static const char __pyx_k_base_container[] = "base_container";
static const char __pyx_k_base_providers[] = "base_providers";
@@ -3477,6 +3526,7 @@ static const char __pyx_k_CHILD_PROVIDERS[] = "CHILD_PROVIDERS";
static const char __pyx_k_source_provider[] = "source_provider";
static const char __pyx_k_undefined_names[] = "undefined_names";
static const char __pyx_k_DynamicContainer[] = "DynamicContainer";
+static const char __pyx_k_auto_load_config[] = "auto_load_config";
static const char __pyx_k_copied_providers[] = "copied_providers";
static const char __pyx_k_from_json_schema[] = "from_json_schema";
static const char __pyx_k_from_yaml_schema[] = "from_yaml_schema";
@@ -3488,6 +3538,7 @@ static const char __pyx_k_apply_overridings[] = "apply_overridings";
static const char __pyx_k_new_provider_name[] = "new_provider_name";
static const char __pyx_k_wired_to_packages[] = "wired_to_packages";
static const char __pyx_k_Abstract_container[] = "Abstract container.";
+static const char __pyx_k_DeprecationWarning[] = "DeprecationWarning";
static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
static const char __pyx_k_check_dependencies[] = "check_dependencies";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
@@ -3497,9 +3548,11 @@ static const char __pyx_k_future_args_kwargs[] = "future_args_kwargs";
static const char __pyx_k_override_providers[] = "override_providers";
static const char __pyx_k_shutdown_resources[] = "shutdown_resources";
static const char __pyx_k_NotImplementedError[] = "NotImplementedError";
+static const char __pyx_k_WiringConfiguration[] = "WiringConfiguration";
static const char __pyx_k_inherited_providers[] = "inherited_providers";
static const char __pyx_k_overriding_provider[] = "overriding_provider";
static const char __pyx_k_DeclarativeContainer[] = "DeclarativeContainer";
+static const char __pyx_k_overridden_providers[] = "overridden_providers";
static const char __pyx_k_overriding_container[] = "overriding_container";
static const char __pyx_k_overriding_providers[] = "overriding_providers";
static const char __pyx_k_DependenciesContainer[] = "DependenciesContainer";
@@ -3513,6 +3566,8 @@ static const char __pyx_k_resources_to_shutdown[] = "resources_to_shutdown";
static const char __pyx_k_sync_ordered_shutdown[] = "_sync_ordered_shutdown";
static const char __pyx_k_async_ordered_shutdown[] = "_async_ordered_shutdown";
static const char __pyx_k_copy_locals__decorator[] = "copy.._decorator";
+static const char __pyx_k_is_auto_wiring_enabled[] = "is_auto_wiring_enabled";
+static const char __pyx_k_overridden_providers_2[] = "_overridden_providers";
static const char __pyx_k_DynamicContainer___init[] = "DynamicContainer.__init__";
static const char __pyx_k_DynamicContainer_unwire[] = "DynamicContainer.unwire";
static const char __pyx_k_DynamicContainer_override[] = "DynamicContainer.override";
@@ -3520,12 +3575,15 @@ static const char __pyx_k_DynamicContainer_traverse[] = "DynamicContainer.traver
static const char __pyx_k_DeclarativeContainer___new[] = "DeclarativeContainer.__new__";
static const char __pyx_k_DynamicContainer___delattr[] = "DynamicContainer.__delattr__";
static const char __pyx_k_DynamicContainer___setattr[] = "DynamicContainer.__setattr__";
+static const char __pyx_k_ProvidersOverridingContext[] = "ProvidersOverridingContext";
static const char __pyx_k_Pyx_CFunc_object____object[] = "__Pyx_CFunc_object____object____object___to_py..wrap";
+static const char __pyx_k_WiringConfiguration___init[] = "WiringConfiguration.__init__";
static const char __pyx_k_has_undefined_dependencies[] = "\" has undefined dependencies: ";
static const char __pyx_k_override_locals__decorator[] = "override.._decorator";
static const char __pyx_k_DynamicContainer___deepcopy[] = "DynamicContainer.__deepcopy__";
static const char __pyx_k_get_memo_for_matching_names[] = "_get_memo_for_matching_names";
static const char __pyx_k_DynamicContainer_from_schema[] = "DynamicContainer.from_schema";
+static const char __pyx_k_DynamicContainer_load_config[] = "DynamicContainer.load_config";
static const char __pyx_k_DynamicContainer_parent_name[] = "DynamicContainer.parent_name";
static const char __pyx_k_SingletonResetContext___exit[] = "SingletonResetContext.__exit__";
static const char __pyx_k_SingletonResetContext___init[] = "SingletonResetContext.__init__";
@@ -3536,9 +3594,11 @@ static const char __pyx_k_DynamicContainer_dependencies[] = "DynamicContainer.de
static const char __pyx_k_DynamicContainer_set_provider[] = "DynamicContainer.set_provider";
static const char __pyx_k_SingletonResetContext___enter[] = "SingletonResetContext.__enter__";
static const char __pyx_k_0_can_contain_only_1_instances[] = "{0} can contain only {1} instances";
+static const char __pyx_k_Container_wiring_configuration[] = "Container wiring configuration.";
static const char __pyx_k_DynamicContainer_assign_parent[] = "DynamicContainer.assign_parent";
static const char __pyx_k_DynamicContainer_set_providers[] = "DynamicContainer.set_providers";
static const char __pyx_k_Pyx_CFunc_void____object____ob[] = "__Pyx_CFunc_void____object____object____object____object___to_py..wrap";
+static const char __pyx_k_WiringConfiguration___deepcopy[] = "WiringConfiguration.__deepcopy__";
static const char __pyx_k_dependency_injector_containers[] = "dependency_injector.containers";
static const char __pyx_k_DeclarativeContainerMetaClass_2[] = "DeclarativeContainerMetaClass";
static const char __pyx_k_DeclarativeContainerMetaClass_3[] = "DeclarativeContainerMetaClass.__new__";
@@ -3547,6 +3607,7 @@ static const char __pyx_k_DeclarativeContainerMetaClass_5[] = "DeclarativeContai
static const char __pyx_k_DeclarativeContainerMetaClass_6[] = "DeclarativeContainerMetaClass.__fetch_self";
static const char __pyx_k_DeclarativeContainer_reset_last[] = "DeclarativeContainer.reset_last_overriding";
static const char __pyx_k_DynamicContainer_init_resources[] = "DynamicContainer.init_resources";
+static const char __pyx_k_DynamicContainer_is_auto_wiring[] = "DynamicContainer.is_auto_wiring_enabled";
static const char __pyx_k_DynamicContainer_reset_override[] = "DynamicContainer.reset_override";
static const char __pyx_k_Can_not_resolve_name_for_provide[] = "Can not resolve name for provider \"";
static const char __pyx_k_Container_0_could_not_be_overrid[] = "Container {0} could not be overridden with itself";
@@ -3557,6 +3618,7 @@ static const char __pyx_k_DeclarativeContainerMetaClass_re[] = "DeclarativeConta
static const char __pyx_k_DeclarativeContainerMetaClass_tr[] = "DeclarativeContainerMetaClass.traverse";
static const char __pyx_k_DeclarativeContainer_reset_overr[] = "DeclarativeContainer.reset_override";
static const char __pyx_k_Declarative_inversion_of_control[] = "Declarative inversion of control container meta class.";
+static const char __pyx_k_Dependency_Injector_will_drop_su[] = "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. This does not mean that there will be any immediate breaking changes, but tests will no longer be executed on Python 3.5, and bugs will not be addressed.";
static const char __pyx_k_DynamicContainer_apply_container[] = "DynamicContainer.apply_container_providers_overridings";
static const char __pyx_k_DynamicContainer_check_dependenc[] = "DynamicContainer.check_dependencies";
static const char __pyx_k_DynamicContainer_from_json_schem[] = "DynamicContainer.from_json_schema";
@@ -3567,10 +3629,14 @@ static const char __pyx_k_DynamicContainer_reset_singleton[] = "DynamicContainer
static const char __pyx_k_DynamicContainer_resolve_provide[] = "DynamicContainer.resolve_provider_name";
static const char __pyx_k_DynamicContainer_shutdown_resour[] = "DynamicContainer.shutdown_resources.._independent_resources";
static const char __pyx_k_Dynamic_inversion_of_control_con[] = "Dynamic inversion of control container.\n\n .. code-block:: python\n\n services = DynamicContainer()\n services.auth = providers.Factory(AuthService)\n services.users = providers.Factory(UsersService,\n auth_service=services.auth)\n\n .. py:attribute:: providers\n\n Read-only dictionary of all providers.\n\n :type: dict[str, :py:class:`dependency_injector.providers.Provider`]\n\n .. py:attribute:: overridden\n\n Tuple of overriding containers.\n\n :type: tuple[:py:class:`DynamicContainer`]\n\n .. py:attribute:: provider_type\n\n Type of providers that could be placed in container.\n\n :type: type\n ";
+static const char __pyx_k_ProvidersOverridingContext___ent[] = "ProvidersOverridingContext.__enter__";
+static const char __pyx_k_ProvidersOverridingContext___exi[] = "ProvidersOverridingContext.__exit__";
+static const char __pyx_k_ProvidersOverridingContext___ini[] = "ProvidersOverridingContext.__init__";
static const char __pyx_k_Pyx_CFunc_void____object____ob_2[] = "__Pyx_CFunc_void____object____object___to_py..wrap";
static const char __pyx_k_Pyx_CFunc_void____object____ob_3[] = "__Pyx_CFunc_void____object____object____object___to_py..wrap";
static const char __pyx_k_Unable_to_load_yaml_schema_PyYAM[] = "Unable to load yaml schema - PyYAML is not installed. Install PyYAML or install Dependency Injector with yaml extras: \"pip install dependency-injector[yaml]\"";
static const char __pyx_k_Unable_to_resolve_resources_shut[] = "Unable to resolve resources shutdown order";
+static const char __pyx_k_Wiring_configuration_should_be_a[] = "Wiring configuration should be an instance of WiringConfiguration, instead got {0}";
static const char __pyx_k_Wiring_requires_Python_3_6_or_ab[] = "Wiring requires Python 3.6 or above";
static const char __pyx_k_apply_container_providers_overri[] = "apply_container_providers_overridings";
static const char __pyx_k_copy_locals__get_memo_for_matchi[] = "copy.._get_memo_for_matching_names";
@@ -3589,12 +3655,14 @@ static PyObject *__pyx_n_s_AttributeError;
static PyObject *__pyx_n_s_BaseSingleton;
static PyObject *__pyx_n_s_CHILD_PROVIDERS;
static PyObject *__pyx_kp_u_Can_not_resolve_name_for_provide;
+static PyObject *__pyx_n_s_Configuration;
static PyObject *__pyx_n_s_Container;
static PyObject *__pyx_kp_s_Container_0_could_not_be_overrid;
static PyObject *__pyx_kp_s_Container_0_could_not_be_overrid_2;
static PyObject *__pyx_kp_s_Container_0_is_not_overridden;
static PyObject *__pyx_kp_u_Container_2;
static PyObject *__pyx_kp_s_Container_can_have_only_one_Self;
+static PyObject *__pyx_kp_s_Container_wiring_configuration;
static PyObject *__pyx_n_s_DeclarativeContainer;
static PyObject *__pyx_n_s_DeclarativeContainerMetaClass;
static PyObject *__pyx_n_s_DeclarativeContainerMetaClass_2;
@@ -3614,6 +3682,8 @@ static PyObject *__pyx_kp_s_Declarative_inversion_of_control;
static PyObject *__pyx_kp_s_Declarative_inversion_of_control_2;
static PyObject *__pyx_n_s_DependenciesContainer;
static PyObject *__pyx_n_s_Dependency;
+static PyObject *__pyx_kp_s_Dependency_Injector_will_drop_su;
+static PyObject *__pyx_n_s_DeprecationWarning;
static PyObject *__pyx_n_s_DynamicContainer;
static PyObject *__pyx_n_s_DynamicContainer___deepcopy;
static PyObject *__pyx_n_s_DynamicContainer___delattr;
@@ -3627,6 +3697,8 @@ static PyObject *__pyx_n_s_DynamicContainer_from_json_schem;
static PyObject *__pyx_n_s_DynamicContainer_from_schema;
static PyObject *__pyx_n_s_DynamicContainer_from_yaml_schem;
static PyObject *__pyx_n_s_DynamicContainer_init_resources;
+static PyObject *__pyx_n_s_DynamicContainer_is_auto_wiring;
+static PyObject *__pyx_n_s_DynamicContainer_load_config;
static PyObject *__pyx_n_s_DynamicContainer_override;
static PyObject *__pyx_n_s_DynamicContainer_override_provid;
static PyObject *__pyx_n_s_DynamicContainer_parent_name;
@@ -3653,6 +3725,10 @@ static PyObject *__pyx_n_s_IS_CONTAINER;
static PyObject *__pyx_n_s_ImportError;
static PyObject *__pyx_n_s_NotImplementedError;
static PyObject *__pyx_n_s_Provider;
+static PyObject *__pyx_n_s_ProvidersOverridingContext;
+static PyObject *__pyx_n_s_ProvidersOverridingContext___ent;
+static PyObject *__pyx_n_s_ProvidersOverridingContext___exi;
+static PyObject *__pyx_n_s_ProvidersOverridingContext___ini;
static PyObject *__pyx_n_s_Pyx_CFunc_object____object;
static PyObject *__pyx_n_s_Pyx_CFunc_void____object____ob;
static PyObject *__pyx_n_s_Pyx_CFunc_void____object____ob_2;
@@ -3667,12 +3743,17 @@ static PyObject *__pyx_n_s_SingletonResetContext___exit;
static PyObject *__pyx_n_s_SingletonResetContext___init;
static PyObject *__pyx_kp_s_Unable_to_load_yaml_schema_PyYAM;
static PyObject *__pyx_kp_s_Unable_to_resolve_resources_shut;
+static PyObject *__pyx_n_s_WiringConfiguration;
+static PyObject *__pyx_n_s_WiringConfiguration___deepcopy;
+static PyObject *__pyx_n_s_WiringConfiguration___init;
+static PyObject *__pyx_kp_s_Wiring_configuration_should_be_a;
static PyObject *__pyx_kp_s_Wiring_requires_Python_3_6_or_ab;
-static PyObject *__pyx_kp_u__11;
-static PyObject *__pyx_n_s__118;
-static PyObject *__pyx_kp_s__12;
-static PyObject *__pyx_n_s__21;
-static PyObject *__pyx_n_s__30;
+static PyObject *__pyx_kp_u__12;
+static PyObject *__pyx_kp_s__13;
+static PyObject *__pyx_n_s__131;
+static PyObject *__pyx_kp_s__21;
+static PyObject *__pyx_n_s__22;
+static PyObject *__pyx_n_s__31;
static PyObject *__pyx_n_s_add_done_callback;
static PyObject *__pyx_n_s_add_metaclass;
static PyObject *__pyx_n_s_all_providers;
@@ -3686,6 +3767,8 @@ static PyObject *__pyx_n_s_asyncio;
static PyObject *__pyx_n_s_asyncio_coroutines;
static PyObject *__pyx_n_s_asyncio_tasks;
static PyObject *__pyx_n_s_attributes;
+static PyObject *__pyx_n_s_auto_load_config;
+static PyObject *__pyx_n_s_auto_wire;
static PyObject *__pyx_n_s_await;
static PyObject *__pyx_n_s_base;
static PyObject *__pyx_n_s_base_container;
@@ -3693,6 +3776,7 @@ static PyObject *__pyx_n_s_base_providers;
static PyObject *__pyx_n_s_bases;
static PyObject *__pyx_n_s_build_schema;
static PyObject *__pyx_n_s_call;
+static PyObject *__pyx_n_s_category;
static PyObject *__pyx_n_s_cfunc_to_py;
static PyObject *__pyx_n_s_check_dependencies;
static PyObject *__pyx_n_s_class;
@@ -3702,17 +3786,20 @@ static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_n_s_cls;
static PyObject *__pyx_n_s_cls_providers;
+static PyObject *__pyx_n_s_config;
static PyObject *__pyx_n_s_container;
static PyObject *__pyx_n_s_container_2;
static PyObject *__pyx_n_s_container_name;
static PyObject *__pyx_n_s_container_provider;
static PyObject *__pyx_n_s_containers;
+static PyObject *__pyx_n_s_contextlib;
static PyObject *__pyx_n_s_copied;
static PyObject *__pyx_n_s_copied_providers;
static PyObject *__pyx_n_s_copied_self;
static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_copy_locals__decorator;
static PyObject *__pyx_n_s_copy_locals__get_memo_for_matchi;
+static PyObject *__pyx_n_s_copy_module;
static PyObject *__pyx_n_s_declarative_parent;
static PyObject *__pyx_n_s_decorator;
static PyObject *__pyx_n_s_deepcopy;
@@ -3732,6 +3819,7 @@ static PyObject *__pyx_n_s_file;
static PyObject *__pyx_n_s_filepath;
static PyObject *__pyx_n_s_format;
static PyObject *__pyx_n_s_from_json_schema;
+static PyObject *__pyx_n_s_from_package;
static PyObject *__pyx_n_s_from_schema;
static PyObject *__pyx_n_s_from_yaml_schema;
static PyObject *__pyx_n_s_functools;
@@ -3743,9 +3831,12 @@ static PyObject *__pyx_n_s_gather;
static PyObject *__pyx_n_s_genexpr;
static PyObject *__pyx_n_s_get;
static PyObject *__pyx_n_s_get_memo_for_matching_names;
+static PyObject *__pyx_n_s_getmodule;
static PyObject *__pyx_kp_u_has_undefined_dependencies;
static PyObject *__pyx_n_s_id;
static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_import_module;
+static PyObject *__pyx_n_s_importlib;
static PyObject *__pyx_n_s_independent_resources;
static PyObject *__pyx_n_s_index;
static PyObject *__pyx_n_s_inherited_providers;
@@ -3756,6 +3847,7 @@ static PyObject *__pyx_n_s_initialized;
static PyObject *__pyx_n_s_inspect;
static PyObject *__pyx_n_s_instance_type;
static PyObject *__pyx_n_s_is_async_mode_enabled;
+static PyObject *__pyx_n_s_is_auto_wiring_enabled;
static PyObject *__pyx_n_s_is_defined;
static PyObject *__pyx_n_s_iscoroutine;
static PyObject *__pyx_n_s_isfuture;
@@ -3766,6 +3858,7 @@ static PyObject *__pyx_n_s_join;
static PyObject *__pyx_n_s_json;
static PyObject *__pyx_n_s_kwargs;
static PyObject *__pyx_n_s_load;
+static PyObject *__pyx_n_s_load_config;
static PyObject *__pyx_n_s_loader;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_mcs;
@@ -3784,6 +3877,8 @@ static PyObject *__pyx_n_s_object;
static PyObject *__pyx_n_s_open;
static PyObject *__pyx_n_s_other_resource;
static PyObject *__pyx_n_s_overridden;
+static PyObject *__pyx_n_s_overridden_providers;
+static PyObject *__pyx_n_s_overridden_providers_2;
static PyObject *__pyx_n_s_override;
static PyObject *__pyx_n_s_override_locals__decorator;
static PyObject *__pyx_n_s_override_providers;
@@ -3791,6 +3886,7 @@ static PyObject *__pyx_n_s_overriding;
static PyObject *__pyx_n_s_overriding_container;
static PyObject *__pyx_n_s_overriding_provider;
static PyObject *__pyx_n_s_overriding_providers;
+static PyObject *__pyx_n_s_package;
static PyObject *__pyx_n_s_packages;
static PyObject *__pyx_n_s_parent;
static PyObject *__pyx_n_s_parent_name;
@@ -3832,10 +3928,13 @@ static PyObject *__pyx_n_s_shutdown_resources;
static PyObject *__pyx_n_s_six;
static PyObject *__pyx_n_s_source_provider;
static PyObject *__pyx_kp_s_src_dependency_injector_containe;
+static PyObject *__pyx_n_s_stack;
+static PyObject *__pyx_n_s_startswith;
static PyObject *__pyx_n_s_staticmethod;
static PyObject *__pyx_kp_s_stringsource;
static PyObject *__pyx_n_s_sub_memo;
static PyObject *__pyx_n_s_super;
+static PyObject *__pyx_n_s_suppress;
static PyObject *__pyx_n_s_sync_ordered_shutdown;
static PyObject *__pyx_n_s_sys;
static PyObject *__pyx_n_s_test;
@@ -3849,15 +3948,20 @@ static PyObject *__pyx_n_s_update;
static PyObject *__pyx_n_s_value;
static PyObject *__pyx_n_s_values;
static PyObject *__pyx_n_s_version_info;
+static PyObject *__pyx_n_s_warn;
+static PyObject *__pyx_n_s_warnings;
static PyObject *__pyx_n_s_wire;
static PyObject *__pyx_n_s_wired_to_modules;
static PyObject *__pyx_n_s_wired_to_packages;
static PyObject *__pyx_n_s_wiring;
+static PyObject *__pyx_n_s_wiring_config;
static PyObject *__pyx_n_s_wrap;
static PyObject *__pyx_n_s_yaml;
static PyObject *__pyx_n_s_zip;
static PyObject *__pyx_pf_19dependency_injector_10containers_wire(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_2unwire(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_19WiringConfiguration___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages, PyObject *__pyx_v_from_package, PyObject *__pyx_v_auto_wire); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_19WiringConfiguration_2__deepcopy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_2__deepcopy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_4__setattr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
@@ -3870,25 +3974,27 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_19override_providers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_overriding_providers); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_21reset_last_overriding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_23reset_override(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_25wire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_27unwire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_29init_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_25is_auto_wiring_enabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_27wire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages, PyObject *__pyx_v_from_package); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_29unwire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_31init_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources__independent_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_3_async_ordered_shutdown(PyObject *__pyx_self, PyObject *__pyx_v_resources); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_6_sync_ordered_shutdown(PyObject *__pyx_self, PyObject *__pyx_v_resources); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_8genexpr(PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_31shutdown_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_33apply_container_providers_overridings(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_35reset_singletons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_37check_dependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_39from_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_schema); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_41from_yaml_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_loader); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_json_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_45resolve_provider_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_provider); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_47parent_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_49assign_parent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parent); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_33shutdown_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_35load_config(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_37apply_container_providers_overridings(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_39reset_singletons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_41check_dependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_schema); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_45from_yaml_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_loader); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_47from_json_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_49resolve_provider_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_provider); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_51parent_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_53assign_parent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parent); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContainerMetaClass___new__(CYTHON_UNUSED PyObject *__pyx_self, PyTypeObject *__pyx_v_mcs, PyObject *__pyx_v_class_name, PyObject *__pyx_v_bases, PyObject *__pyx_v_attributes); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContainerMetaClass_2__setattr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContainerMetaClass_4__delattr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_name); /* proto */
@@ -3904,6 +4010,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_container); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetContext_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetContext_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v__); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_container, PyObject *__pyx_v_overridden_providers); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v__); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_8override__decorator(PyObject *__pyx_self, PyObject *__pyx_v_overriding_container); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_4override(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_container); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for_matching_names(PyObject *__pyx_self, PyObject *__pyx_v_new_providers, PyObject *__pyx_v_base_providers); /* proto */
@@ -3911,6 +4020,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
static PyObject *__pyx_pf_19dependency_injector_10containers_6copy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_base_container); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_8is_container(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_instance); /* proto */
static PyObject *__pyx_pf_19dependency_injector_10containers_10_check_provider_type(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_container, PyObject *__pyx_v_provider); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_12_any_relative_string_imports_in(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_modules); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_14_resolve_string_imports(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_from_package); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_16_resolve_calling_package_name(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_10containers_18_resolve_package_name_from_cls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls); /* proto */
static PyObject *__pyx_pf_11cfunc_dot_to_py_64__Pyx_CFunc_void____object____object____object____object___to_py_wrap(PyObject *__pyx_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_args, PyObject *__pyx_v_future_args_kwargs, PyObject *__pyx_v_future); /* proto */
static PyObject *__pyx_pf_11cfunc_dot_to_py_44__Pyx_CFunc_void____object____object___to_py_wrap(PyObject *__pyx_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_future); /* proto */
static PyObject *__pyx_pf_11cfunc_dot_to_py_54__Pyx_CFunc_void____object____object____object___to_py_wrap(PyObject *__pyx_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_call, PyObject *__pyx_v_future); /* proto */
@@ -3930,55 +4043,58 @@ static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_void____object____
static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_void____object____object___to_py(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_void____object____object____object___to_py(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_object____object____object___to_py(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get = {0, &__pyx_n_s_get, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_update = {0, &__pyx_n_s_update, 0, 0, 0};
static PyObject *__pyx_int_2;
static PyObject *__pyx_int_3;
+static PyObject *__pyx_int_5;
static PyObject *__pyx_int_6;
static PyObject *__pyx_int_neg_1;
static PyObject *__pyx_tuple_;
static PyObject *__pyx_slice__3;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__5;
-static PyObject *__pyx_tuple__7;
-static PyObject *__pyx_tuple__9;
-static PyObject *__pyx_slice__31;
-static PyObject *__pyx_tuple__13;
+static PyObject *__pyx_tuple__6;
+static PyObject *__pyx_tuple__8;
+static PyObject *__pyx_slice__32;
+static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__19;
-static PyObject *__pyx_tuple__22;
-static PyObject *__pyx_tuple__24;
-static PyObject *__pyx_tuple__26;
-static PyObject *__pyx_tuple__28;
-static PyObject *__pyx_tuple__32;
+static PyObject *__pyx_tuple__23;
+static PyObject *__pyx_tuple__25;
+static PyObject *__pyx_tuple__27;
+static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__33;
-static PyObject *__pyx_tuple__35;
-static PyObject *__pyx_tuple__37;
+static PyObject *__pyx_tuple__34;
+static PyObject *__pyx_tuple__36;
static PyObject *__pyx_tuple__38;
+static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__40;
static PyObject *__pyx_tuple__42;
-static PyObject *__pyx_tuple__44;
+static PyObject *__pyx_tuple__43;
+static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__46;
-static PyObject *__pyx_tuple__48;
+static PyObject *__pyx_tuple__47;
static PyObject *__pyx_tuple__49;
-static PyObject *__pyx_tuple__50;
-static PyObject *__pyx_tuple__52;
-static PyObject *__pyx_tuple__54;
-static PyObject *__pyx_tuple__56;
+static PyObject *__pyx_tuple__51;
+static PyObject *__pyx_tuple__53;
+static PyObject *__pyx_tuple__55;
+static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__58;
-static PyObject *__pyx_tuple__60;
-static PyObject *__pyx_tuple__62;
-static PyObject *__pyx_tuple__64;
+static PyObject *__pyx_tuple__59;
+static PyObject *__pyx_tuple__61;
+static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__69;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__75;
-static PyObject *__pyx_tuple__77;
-static PyObject *__pyx_tuple__79;
-static PyObject *__pyx_tuple__81;
+static PyObject *__pyx_tuple__76;
+static PyObject *__pyx_tuple__78;
+static PyObject *__pyx_tuple__80;
static PyObject *__pyx_tuple__82;
static PyObject *__pyx_tuple__84;
static PyObject *__pyx_tuple__86;
@@ -3986,78 +4102,95 @@ static PyObject *__pyx_tuple__88;
static PyObject *__pyx_tuple__90;
static PyObject *__pyx_tuple__92;
static PyObject *__pyx_tuple__94;
-static PyObject *__pyx_tuple__96;
-static PyObject *__pyx_tuple__98;
+static PyObject *__pyx_tuple__95;
+static PyObject *__pyx_tuple__97;
static PyObject *__pyx_tuple__99;
static PyObject *__pyx_codeobj__2;
-static PyObject *__pyx_codeobj__6;
-static PyObject *__pyx_codeobj__8;
-static PyObject *__pyx_tuple__100;
-static PyObject *__pyx_tuple__102;
-static PyObject *__pyx_tuple__104;
-static PyObject *__pyx_tuple__106;
-static PyObject *__pyx_tuple__108;
-static PyObject *__pyx_tuple__110;
+static PyObject *__pyx_codeobj__7;
+static PyObject *__pyx_codeobj__9;
+static PyObject *__pyx_tuple__101;
+static PyObject *__pyx_tuple__103;
+static PyObject *__pyx_tuple__105;
+static PyObject *__pyx_tuple__107;
+static PyObject *__pyx_tuple__109;
+static PyObject *__pyx_tuple__111;
static PyObject *__pyx_tuple__112;
-static PyObject *__pyx_tuple__114;
-static PyObject *__pyx_tuple__116;
+static PyObject *__pyx_tuple__113;
+static PyObject *__pyx_tuple__115;
+static PyObject *__pyx_tuple__117;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__121;
static PyObject *__pyx_tuple__123;
-static PyObject *__pyx_codeobj__10;
+static PyObject *__pyx_tuple__125;
+static PyObject *__pyx_tuple__127;
+static PyObject *__pyx_tuple__129;
+static PyObject *__pyx_tuple__132;
+static PyObject *__pyx_tuple__134;
+static PyObject *__pyx_tuple__136;
+static PyObject *__pyx_tuple__138;
+static PyObject *__pyx_tuple__140;
+static PyObject *__pyx_tuple__142;
+static PyObject *__pyx_codeobj__11;
static PyObject *__pyx_codeobj__14;
static PyObject *__pyx_codeobj__16;
static PyObject *__pyx_codeobj__18;
static PyObject *__pyx_codeobj__20;
-static PyObject *__pyx_codeobj__23;
-static PyObject *__pyx_codeobj__25;
-static PyObject *__pyx_codeobj__27;
-static PyObject *__pyx_codeobj__29;
-static PyObject *__pyx_codeobj__34;
-static PyObject *__pyx_codeobj__36;
-static PyObject *__pyx_codeobj__39;
+static PyObject *__pyx_codeobj__24;
+static PyObject *__pyx_codeobj__26;
+static PyObject *__pyx_codeobj__28;
+static PyObject *__pyx_codeobj__30;
+static PyObject *__pyx_codeobj__35;
+static PyObject *__pyx_codeobj__37;
static PyObject *__pyx_codeobj__41;
-static PyObject *__pyx_codeobj__43;
-static PyObject *__pyx_codeobj__45;
-static PyObject *__pyx_codeobj__47;
-static PyObject *__pyx_codeobj__51;
-static PyObject *__pyx_codeobj__53;
-static PyObject *__pyx_codeobj__55;
-static PyObject *__pyx_codeobj__57;
-static PyObject *__pyx_codeobj__59;
-static PyObject *__pyx_codeobj__61;
-static PyObject *__pyx_codeobj__63;
+static PyObject *__pyx_codeobj__44;
+static PyObject *__pyx_codeobj__48;
+static PyObject *__pyx_codeobj__50;
+static PyObject *__pyx_codeobj__52;
+static PyObject *__pyx_codeobj__54;
+static PyObject *__pyx_codeobj__56;
+static PyObject *__pyx_codeobj__60;
+static PyObject *__pyx_codeobj__62;
+static PyObject *__pyx_codeobj__64;
static PyObject *__pyx_codeobj__66;
static PyObject *__pyx_codeobj__68;
static PyObject *__pyx_codeobj__70;
static PyObject *__pyx_codeobj__72;
static PyObject *__pyx_codeobj__74;
-static PyObject *__pyx_codeobj__76;
-static PyObject *__pyx_codeobj__78;
-static PyObject *__pyx_codeobj__80;
+static PyObject *__pyx_codeobj__77;
+static PyObject *__pyx_codeobj__79;
+static PyObject *__pyx_codeobj__81;
static PyObject *__pyx_codeobj__83;
static PyObject *__pyx_codeobj__85;
static PyObject *__pyx_codeobj__87;
static PyObject *__pyx_codeobj__89;
static PyObject *__pyx_codeobj__91;
static PyObject *__pyx_codeobj__93;
-static PyObject *__pyx_codeobj__95;
-static PyObject *__pyx_codeobj__97;
-static PyObject *__pyx_codeobj__101;
-static PyObject *__pyx_codeobj__103;
-static PyObject *__pyx_codeobj__105;
-static PyObject *__pyx_codeobj__107;
-static PyObject *__pyx_codeobj__109;
-static PyObject *__pyx_codeobj__111;
-static PyObject *__pyx_codeobj__113;
-static PyObject *__pyx_codeobj__115;
-static PyObject *__pyx_codeobj__117;
+static PyObject *__pyx_codeobj__96;
+static PyObject *__pyx_codeobj__98;
+static PyObject *__pyx_codeobj__100;
+static PyObject *__pyx_codeobj__102;
+static PyObject *__pyx_codeobj__104;
+static PyObject *__pyx_codeobj__106;
+static PyObject *__pyx_codeobj__108;
+static PyObject *__pyx_codeobj__110;
+static PyObject *__pyx_codeobj__114;
+static PyObject *__pyx_codeobj__116;
+static PyObject *__pyx_codeobj__118;
static PyObject *__pyx_codeobj__120;
static PyObject *__pyx_codeobj__122;
static PyObject *__pyx_codeobj__124;
+static PyObject *__pyx_codeobj__126;
+static PyObject *__pyx_codeobj__128;
+static PyObject *__pyx_codeobj__130;
+static PyObject *__pyx_codeobj__133;
+static PyObject *__pyx_codeobj__135;
+static PyObject *__pyx_codeobj__137;
+static PyObject *__pyx_codeobj__139;
+static PyObject *__pyx_codeobj__141;
+static PyObject *__pyx_codeobj__143;
/* Late includes */
-/* "dependency_injector/containers.pyx":25
+/* "dependency_injector/containers.pyx":30
* from .wiring import wire, unwire
* else:
* def wire(*args, **kwargs): # <<<<<<<<<<<<<<
@@ -4095,20 +4228,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_wire(CYTHON_UNUSED
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("wire", 0);
- /* "dependency_injector/containers.pyx":26
+ /* "dependency_injector/containers.pyx":31
* else:
* def wire(*args, **kwargs):
* raise NotImplementedError('Wiring requires Python 3.6 or above') # <<<<<<<<<<<<<<
*
* def unwire(*args, **kwargs):
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 26, __pyx_L1_error)
+ __PYX_ERR(0, 31, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":25
+ /* "dependency_injector/containers.pyx":30
* from .wiring import wire, unwire
* else:
* def wire(*args, **kwargs): # <<<<<<<<<<<<<<
@@ -4126,7 +4259,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_wire(CYTHON_UNUSED
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":28
+/* "dependency_injector/containers.pyx":33
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
* def unwire(*args, **kwargs): # <<<<<<<<<<<<<<
@@ -4164,20 +4297,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_2unwire(CYTHON_UNUS
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("unwire", 0);
- /* "dependency_injector/containers.pyx":29
+ /* "dependency_injector/containers.pyx":34
*
* def unwire(*args, **kwargs):
* raise NotImplementedError('Wiring requires Python 3.6 or above') # <<<<<<<<<<<<<<
*
- *
+ * if sys.version_info[:2] == (3, 5):
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 29, __pyx_L1_error)
+ __PYX_ERR(0, 34, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":28
+ /* "dependency_injector/containers.pyx":33
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
* def unwire(*args, **kwargs): # <<<<<<<<<<<<<<
@@ -4195,7 +4328,419 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_2unwire(CYTHON_UNUS
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":67
+/* "dependency_injector/containers.pyx":48
+ * """Container wiring configuration."""
+ *
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True): # <<<<<<<<<<<<<<
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else []
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_19WiringConfiguration_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_self = 0;
+ PyObject *__pyx_v_modules = 0;
+ PyObject *__pyx_v_packages = 0;
+ PyObject *__pyx_v_from_package = 0;
+ PyObject *__pyx_v_auto_wire = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_modules,&__pyx_n_s_packages,&__pyx_n_s_from_package,&__pyx_n_s_auto_wire,0};
+ PyObject* values[5] = {0,0,0,0,0};
+ values[1] = ((PyObject *)((PyObject *)Py_None));
+ values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[3] = ((PyObject *)((PyObject *)Py_None));
+ values[4] = ((PyObject *)((PyObject *)Py_True));
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ CYTHON_FALLTHROUGH;
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ CYTHON_FALLTHROUGH;
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_modules);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 2:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_packages);
+ if (value) { values[2] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from_package);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_auto_wire);
+ if (value) { values[4] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 48, __pyx_L3_error)
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ CYTHON_FALLTHROUGH;
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ CYTHON_FALLTHROUGH;
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_self = values[0];
+ __pyx_v_modules = values[1];
+ __pyx_v_packages = values[2];
+ __pyx_v_from_package = values[3];
+ __pyx_v_auto_wire = values[4];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 48, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("dependency_injector.containers.WiringConfiguration.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_19WiringConfiguration___init__(__pyx_self, __pyx_v_self, __pyx_v_modules, __pyx_v_packages, __pyx_v_from_package, __pyx_v_auto_wire);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_19WiringConfiguration___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages, PyObject *__pyx_v_from_package, PyObject *__pyx_v_auto_wire) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "dependency_injector/containers.pyx":49
+ *
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True):
+ * self.modules = [*modules] if modules else [] # <<<<<<<<<<<<<<
+ * self.packages = [*packages] if packages else []
+ * self.from_package = from_package
+ */
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_modules); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 49, __pyx_L1_error)
+ if (__pyx_t_2) {
+ __pyx_t_3 = PySequence_List(__pyx_v_modules); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ } else {
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ }
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_modules, __pyx_t_1) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":50
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True):
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else [] # <<<<<<<<<<<<<<
+ * self.from_package = from_package
+ * self.auto_wire = auto_wire
+ */
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_packages); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 50, __pyx_L1_error)
+ if (__pyx_t_2) {
+ __pyx_t_3 = PySequence_List(__pyx_v_packages); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ } else {
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
+ }
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_packages, __pyx_t_1) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":51
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else []
+ * self.from_package = from_package # <<<<<<<<<<<<<<
+ * self.auto_wire = auto_wire
+ *
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_from_package, __pyx_v_from_package) < 0) __PYX_ERR(0, 51, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":52
+ * self.packages = [*packages] if packages else []
+ * self.from_package = from_package
+ * self.auto_wire = auto_wire # <<<<<<<<<<<<<<
+ *
+ * def __deepcopy__(self, memo=None):
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_auto_wire, __pyx_v_auto_wire) < 0) __PYX_ERR(0, 52, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":48
+ * """Container wiring configuration."""
+ *
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True): # <<<<<<<<<<<<<<
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else []
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_AddTraceback("dependency_injector.containers.WiringConfiguration.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":54
+ * self.auto_wire = auto_wire
+ *
+ * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<<
+ * return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire)
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_3__deepcopy__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_19WiringConfiguration_3__deepcopy__ = {"__deepcopy__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_3__deepcopy__, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_19dependency_injector_10containers_19WiringConfiguration_3__deepcopy__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_self = 0;
+ CYTHON_UNUSED PyObject *__pyx_v_memo = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_memo,0};
+ PyObject* values[2] = {0,0};
+ values[1] = ((PyObject *)((PyObject *)Py_None));
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__deepcopy__") < 0)) __PYX_ERR(0, 54, __pyx_L3_error)
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_self = values[0];
+ __pyx_v_memo = values[1];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__deepcopy__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 54, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("dependency_injector.containers.WiringConfiguration.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_19WiringConfiguration_2__deepcopy__(__pyx_self, __pyx_v_self, __pyx_v_memo);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_19WiringConfiguration_2__deepcopy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ int __pyx_t_8;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__deepcopy__", 0);
+
+ /* "dependency_injector/containers.pyx":55
+ *
+ * def __deepcopy__(self, memo=None):
+ * return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire) # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_modules); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_packages); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_from_package); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_auto_wire); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_7 = NULL;
+ __pyx_t_8 = 0;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ __pyx_t_8 = 1;
+ }
+ }
+ #if CYTHON_FAST_PYCALL
+ if (PyFunction_Check(__pyx_t_2)) {
+ PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_t_6};
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ } else
+ #endif
+ #if CYTHON_FAST_PYCCALL
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+ PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_t_6};
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ } else
+ #endif
+ {
+ __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (__pyx_t_7) {
+ __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+ }
+ __Pyx_GIVEREF(__pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+ __Pyx_GIVEREF(__pyx_t_5);
+ PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_6);
+ PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_t_6);
+ __pyx_t_3 = 0;
+ __pyx_t_4 = 0;
+ __pyx_t_5 = 0;
+ __pyx_t_6 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":54
+ * self.auto_wire = auto_wire
+ *
+ * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<<
+ * return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire)
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_AddTraceback("dependency_injector.containers.WiringConfiguration.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":93
* __IS_CONTAINER__ = True
*
* def __init__(self): # <<<<<<<<<<<<<<
@@ -4229,97 +4774,124 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/containers.pyx":72
+ /* "dependency_injector/containers.pyx":98
* :rtype: None
* """
* self.provider_type = providers.Provider # <<<<<<<<<<<<<<
* self.providers = {}
* self.overridden = tuple()
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_provider_type, __pyx_t_2) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_provider_type, __pyx_t_2) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":73
+ /* "dependency_injector/containers.pyx":99
* """
* self.provider_type = providers.Provider
* self.providers = {} # <<<<<<<<<<<<<<
* self.overridden = tuple()
* self.parent = None
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_providers, __pyx_t_2) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_providers, __pyx_t_2) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":74
+ /* "dependency_injector/containers.pyx":100
* self.provider_type = providers.Provider
* self.providers = {}
* self.overridden = tuple() # <<<<<<<<<<<<<<
* self.parent = None
* self.declarative_parent = None
*/
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_2) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_2) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":75
+ /* "dependency_injector/containers.pyx":101
* self.providers = {}
* self.overridden = tuple()
* self.parent = None # <<<<<<<<<<<<<<
* self.declarative_parent = None
- * self.wired_to_modules = []
+ * self.wiring_config = WiringConfiguration()
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_parent, Py_None) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_parent, Py_None) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":76
+ /* "dependency_injector/containers.pyx":102
* self.overridden = tuple()
* self.parent = None
* self.declarative_parent = None # <<<<<<<<<<<<<<
+ * self.wiring_config = WiringConfiguration()
+ * self.wired_to_modules = []
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent, Py_None) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":103
+ * self.parent = None
+ * self.declarative_parent = None
+ * self.wiring_config = WiringConfiguration() # <<<<<<<<<<<<<<
* self.wired_to_modules = []
* self.wired_to_packages = []
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent, Py_None) < 0) __PYX_ERR(0, 76, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_WiringConfiguration); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config, __pyx_t_2) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":77
- * self.parent = None
+ /* "dependency_injector/containers.pyx":104
* self.declarative_parent = None
+ * self.wiring_config = WiringConfiguration()
* self.wired_to_modules = [] # <<<<<<<<<<<<<<
* self.wired_to_packages = []
* self.__self__ = providers.Self(self)
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules, __pyx_t_2) < 0) __PYX_ERR(0, 77, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules, __pyx_t_2) < 0) __PYX_ERR(0, 104, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":78
- * self.declarative_parent = None
+ /* "dependency_injector/containers.pyx":105
+ * self.wiring_config = WiringConfiguration()
* self.wired_to_modules = []
* self.wired_to_packages = [] # <<<<<<<<<<<<<<
* self.__self__ = providers.Self(self)
* super(DynamicContainer, self).__init__()
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 78, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages, __pyx_t_2) < 0) __PYX_ERR(0, 78, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages, __pyx_t_2) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":79
+ /* "dependency_injector/containers.pyx":106
* self.wired_to_modules = []
* self.wired_to_packages = []
* self.__self__ = providers.Self(self) # <<<<<<<<<<<<<<
* super(DynamicContainer, self).__init__()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -4334,22 +4906,22 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_self, __pyx_t_2) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_self_2, __pyx_t_2) < 0) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":80
+ /* "dependency_injector/containers.pyx":107
* self.wired_to_packages = []
* self.__self__ = providers.Self(self)
* super(DynamicContainer, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
@@ -4357,10 +4929,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self);
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -4375,12 +4947,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":67
+ /* "dependency_injector/containers.pyx":93
* __IS_CONTAINER__ = True
*
* def __init__(self): # <<<<<<<<<<<<<<
@@ -4403,7 +4975,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":82
+/* "dependency_injector/containers.pyx":109
* super(DynamicContainer, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -4425,7 +4997,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_memo,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_memo,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -4441,17 +5013,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, 1); __PYX_ERR(0, 82, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, 1); __PYX_ERR(0, 109, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__deepcopy__") < 0)) __PYX_ERR(0, 82, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__deepcopy__") < 0)) __PYX_ERR(0, 109, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -4464,7 +5036,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 82, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 109, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -4500,16 +5072,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/containers.pyx":84
+ /* "dependency_injector/containers.pyx":111
* def __deepcopy__(self, memo):
* """Create and return full copy of container."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -4524,13 +5096,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":85
+ /* "dependency_injector/containers.pyx":112
* """Create and return full copy of container."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -4541,7 +5113,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/containers.pyx":86
+ /* "dependency_injector/containers.pyx":113
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -4553,7 +5125,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":85
+ /* "dependency_injector/containers.pyx":112
* """Create and return full copy of container."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -4562,14 +5134,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":88
+ /* "dependency_injector/containers.pyx":115
* return copied
*
* copied = self.__class__() # <<<<<<<<<<<<<<
* memo[id(self)] = copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -4583,37 +5155,37 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":89
+ /* "dependency_injector/containers.pyx":116
*
* copied = self.__class__()
* memo[id(self)] = copied # <<<<<<<<<<<<<<
*
* copied.__self__ = providers.deepcopy(self.__self__, memo)
*/
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(0, 89, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(0, 116, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":91
+ /* "dependency_injector/containers.pyx":118
* memo[id(self)] = copied
*
* copied.__self__ = providers.deepcopy(self.__self__, memo) # <<<<<<<<<<<<<<
* for name in copied.__self__.alt_names:
* copied.set_provider(name, copied.__self__)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_self_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_7 = 0;
@@ -4630,7 +5202,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_2, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -4639,14 +5211,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_2, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -4657,33 +5229,33 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_memo);
__pyx_t_2 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_self, __pyx_t_1) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_self_2, __pyx_t_1) < 0) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":92
+ /* "dependency_injector/containers.pyx":119
*
* copied.__self__ = providers.deepcopy(self.__self__, memo)
* for name in copied.__self__.alt_names: # <<<<<<<<<<<<<<
* copied.set_provider(name, copied.__self__)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_self_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_alt_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_alt_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
__pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
} else {
- __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -4691,17 +5263,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 119, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 119, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -4711,7 +5283,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 92, __pyx_L1_error)
+ else __PYX_ERR(0, 119, __pyx_L1_error)
}
break;
}
@@ -4720,16 +5292,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":93
+ /* "dependency_injector/containers.pyx":120
* copied.__self__ = providers.deepcopy(self.__self__, memo)
* for name in copied.__self__.alt_names:
* copied.set_provider(name, copied.__self__) # <<<<<<<<<<<<<<
*
* copied.provider_type = providers.Provider
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_self_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_7 = 0;
@@ -4746,7 +5318,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_t_2};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -4755,14 +5327,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_t_2};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
- __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -4773,14 +5345,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":92
+ /* "dependency_injector/containers.pyx":119
*
* copied.__self__ = providers.deepcopy(self.__self__, memo)
* for name in copied.__self__.alt_names: # <<<<<<<<<<<<<<
@@ -4790,34 +5362,34 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":95
+ /* "dependency_injector/containers.pyx":122
* copied.set_provider(name, copied.__self__)
*
* copied.provider_type = providers.Provider # <<<<<<<<<<<<<<
* copied.overridden = providers.deepcopy(self.overridden, memo)
- * copied.declarative_parent = self.declarative_parent
+ * copied.wiring_config = copy_module.deepcopy(self.wiring_config, memo)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_provider_type, __pyx_t_3) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_provider_type, __pyx_t_3) < 0) __PYX_ERR(0, 122, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":96
+ /* "dependency_injector/containers.pyx":123
*
* copied.provider_type = providers.Provider
* copied.overridden = providers.deepcopy(self.overridden, memo) # <<<<<<<<<<<<<<
+ * copied.wiring_config = copy_module.deepcopy(self.wiring_config, memo)
* copied.declarative_parent = self.declarative_parent
- *
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = NULL;
__pyx_t_7 = 0;
@@ -4834,7 +5406,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_1, __pyx_v_memo};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -4843,14 +5415,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_1, __pyx_v_memo};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else
#endif
{
- __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_11); __pyx_t_11 = NULL;
@@ -4861,140 +5433,204 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_memo);
__pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_overridden, __pyx_t_3) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_overridden, __pyx_t_3) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":97
+ /* "dependency_injector/containers.pyx":124
* copied.provider_type = providers.Provider
* copied.overridden = providers.deepcopy(self.overridden, memo)
+ * copied.wiring_config = copy_module.deepcopy(self.wiring_config, memo) # <<<<<<<<<<<<<<
+ * copied.declarative_parent = self.declarative_parent
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_copy_module); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_1 = NULL;
+ __pyx_t_7 = 0;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ __pyx_t_7 = 1;
+ }
+ }
+ #if CYTHON_FAST_PYCALL
+ if (PyFunction_Check(__pyx_t_2)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_8, __pyx_v_memo};
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ } else
+ #endif
+ #if CYTHON_FAST_PYCCALL
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_8, __pyx_v_memo};
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ } else
+ #endif
+ {
+ __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (__pyx_t_1) {
+ __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __pyx_t_1 = NULL;
+ }
+ __Pyx_GIVEREF(__pyx_t_8);
+ PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_t_8);
+ __Pyx_INCREF(__pyx_v_memo);
+ __Pyx_GIVEREF(__pyx_v_memo);
+ PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_v_memo);
+ __pyx_t_8 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_wiring_config, __pyx_t_3) < 0) __PYX_ERR(0, 124, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "dependency_injector/containers.pyx":125
+ * copied.overridden = providers.deepcopy(self.overridden, memo)
+ * copied.wiring_config = copy_module.deepcopy(self.wiring_config, memo)
* copied.declarative_parent = self.declarative_parent # <<<<<<<<<<<<<<
*
* for name, provider in providers.deepcopy(self.providers, memo).items():
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_declarative_parent, __pyx_t_3) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_declarative_parent, __pyx_t_3) < 0) __PYX_ERR(0, 125, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":99
+ /* "dependency_injector/containers.pyx":127
* copied.declarative_parent = self.declarative_parent
*
* for name, provider in providers.deepcopy(self.providers, memo).items(): # <<<<<<<<<<<<<<
* copied.set_provider(name, provider)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_11 = NULL;
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_providers); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __pyx_t_1 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_11);
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
- if (PyFunction_Check(__pyx_t_1)) {
- PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_2, __pyx_v_memo};
- __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (PyFunction_Check(__pyx_t_8)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_v_memo};
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
- if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
- PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_2, __pyx_v_memo};
- __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_v_memo};
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (__pyx_t_11) {
- __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_11); __pyx_t_11 = NULL;
+ if (__pyx_t_1) {
+ __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_11);
+ PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_t_11);
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_memo);
- __pyx_t_2 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_11 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_8);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
}
}
- __pyx_t_3 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
- __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0;
+ __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
} else {
- __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
if (likely(!__pyx_t_10)) {
- if (likely(PyList_CheckExact(__pyx_t_1))) {
- if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ if (likely(PyList_CheckExact(__pyx_t_8))) {
+ if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 127, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
- if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 127, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
} else {
- __pyx_t_3 = __pyx_t_10(__pyx_t_1);
+ __pyx_t_3 = __pyx_t_10(__pyx_t_8);
if (unlikely(!__pyx_t_3)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 99, __pyx_L1_error)
+ else __PYX_ERR(0, 127, __pyx_L1_error)
}
break;
}
@@ -5006,67 +5642,67 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 99, __pyx_L1_error)
+ __PYX_ERR(0, 127, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
- __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
+ __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
} else {
- __pyx_t_8 = PyList_GET_ITEM(sequence, 0);
+ __pyx_t_2 = PyList_GET_ITEM(sequence, 0);
__pyx_t_4 = PyList_GET_ITEM(sequence, 1);
}
- __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
#else
- __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 99, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext;
- index = 0; __pyx_t_8 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed;
- __Pyx_GOTREF(__pyx_t_8);
- index = 1; __pyx_t_4 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed;
+ __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext;
+ index = 0; __pyx_t_2 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_2)) goto __pyx_L8_unpacking_failed;
+ __Pyx_GOTREF(__pyx_t_2);
+ index = 1; __pyx_t_4 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_2), 2) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 127, __pyx_L1_error)
__pyx_t_12 = NULL;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L9_unpacking_done;
__pyx_L8_unpacking_failed:;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_12 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 99, __pyx_L1_error)
+ __PYX_ERR(0, 127, __pyx_L1_error)
__pyx_L9_unpacking_done:;
}
- __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_8);
- __pyx_t_8 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
+ __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":100
+ /* "dependency_injector/containers.pyx":128
*
* for name, provider in providers.deepcopy(self.providers, memo).items():
* copied.set_provider(name, provider) # <<<<<<<<<<<<<<
*
* copied.parent = providers.deepcopy(self.parent, memo)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 100, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = NULL;
+ __pyx_t_2 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
- if (likely(__pyx_t_8)) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_7 = 1;
@@ -5074,40 +5710,40 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_name, __pyx_v_provider};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_provider};
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_name, __pyx_v_provider};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_provider};
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
- __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (__pyx_t_8) {
- __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL;
+ __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 128, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (__pyx_t_2) {
+ __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
- PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_v_name);
+ PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_v_name);
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
- PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_provider);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_v_provider);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":99
+ /* "dependency_injector/containers.pyx":127
* copied.declarative_parent = self.declarative_parent
*
* for name, provider in providers.deepcopy(self.providers, memo).items(): # <<<<<<<<<<<<<<
@@ -5115,29 +5751,29 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*
*/
}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/containers.pyx":102
+ /* "dependency_injector/containers.pyx":130
* copied.set_provider(name, provider)
*
* copied.parent = providers.deepcopy(self.parent, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = NULL;
+ __pyx_t_11 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
- if (likely(__pyx_t_2)) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_11)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_7 = 1;
@@ -5145,43 +5781,43 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GOTREF(__pyx_t_1);
+ PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_3, __pyx_v_memo};
+ __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GOTREF(__pyx_t_1);
+ PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_3, __pyx_v_memo};
+ __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 102, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_8);
- if (__pyx_t_2) {
- __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL;
+ __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (__pyx_t_11) {
+ __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_11); __pyx_t_11 = NULL;
}
__Pyx_GIVEREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+ PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_3);
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
- PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_memo);
+ PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_memo);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_parent, __pyx_t_1) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_copied, __pyx_n_s_parent, __pyx_t_8) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/containers.pyx":104
+ /* "dependency_injector/containers.pyx":132
* copied.parent = providers.deepcopy(self.parent, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -5193,7 +5829,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":82
+ /* "dependency_injector/containers.pyx":109
* super(DynamicContainer, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -5220,7 +5856,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":106
+/* "dependency_injector/containers.pyx":134
* return copied
*
* def __setattr__(self, name, value): # <<<<<<<<<<<<<<
@@ -5243,7 +5879,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_name,&__pyx_n_s_value,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_value,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -5261,23 +5897,23 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 1); __PYX_ERR(0, 106, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 1); __PYX_ERR(0, 134, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 2); __PYX_ERR(0, 106, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 2); __PYX_ERR(0, 134, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__setattr__") < 0)) __PYX_ERR(0, 106, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__setattr__") < 0)) __PYX_ERR(0, 134, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -5292,7 +5928,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 106, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 134, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -5321,19 +5957,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__setattr__", 0);
- /* "dependency_injector/containers.pyx":120
+ /* "dependency_injector/containers.pyx":148
* :rtype: None
* """
* if isinstance(value, providers.Provider) \ # <<<<<<<<<<<<<<
* and not isinstance(value, providers.Self) \
* and name != 'parent':
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 120, __pyx_L1_error)
+ __pyx_t_4 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 148, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
@@ -5342,19 +5978,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/containers.pyx":121
+ /* "dependency_injector/containers.pyx":149
* """
* if isinstance(value, providers.Provider) \
* and not isinstance(value, providers.Self) \ # <<<<<<<<<<<<<<
* and name != 'parent':
* _check_provider_type(self, value)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 121, __pyx_L1_error)
+ __pyx_t_5 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 149, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = ((!(__pyx_t_5 != 0)) != 0);
if (__pyx_t_4) {
@@ -5363,18 +5999,18 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/containers.pyx":122
+ /* "dependency_injector/containers.pyx":150
* if isinstance(value, providers.Provider) \
* and not isinstance(value, providers.Self) \
* and name != 'parent': # <<<<<<<<<<<<<<
* _check_provider_type(self, value)
*
*/
- __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_parent, Py_NE)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 122, __pyx_L1_error)
+ __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_parent, Py_NE)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 150, __pyx_L1_error)
__pyx_t_1 = __pyx_t_4;
__pyx_L4_bool_binop_done:;
- /* "dependency_injector/containers.pyx":120
+ /* "dependency_injector/containers.pyx":148
* :rtype: None
* """
* if isinstance(value, providers.Provider) \ # <<<<<<<<<<<<<<
@@ -5383,54 +6019,54 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
if (__pyx_t_1) {
- /* "dependency_injector/containers.pyx":123
+ /* "dependency_injector/containers.pyx":151
* and not isinstance(value, providers.Self) \
* and name != 'parent':
* _check_provider_type(self, value) # <<<<<<<<<<<<<<
*
* self.providers[name] = value
*/
- __pyx_t_2 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_self, __pyx_v_value, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_self, __pyx_v_value, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":125
+ /* "dependency_injector/containers.pyx":153
* _check_provider_type(self, value)
*
* self.providers[name] = value # <<<<<<<<<<<<<<
*
* if isinstance(value, providers.CHILD_PROVIDERS):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 125, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":127
+ /* "dependency_injector/containers.pyx":155
* self.providers[name] = value
*
* if isinstance(value, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
* value.assign_parent(self)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 127, __pyx_L1_error)
+ __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 155, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = (__pyx_t_1 != 0);
if (__pyx_t_4) {
- /* "dependency_injector/containers.pyx":128
+ /* "dependency_injector/containers.pyx":156
*
* if isinstance(value, providers.CHILD_PROVIDERS):
* value.assign_parent(self) # <<<<<<<<<<<<<<
*
* super(DynamicContainer, self).__setattr__(name, value)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -5444,12 +6080,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":127
+ /* "dependency_injector/containers.pyx":155
* self.providers[name] = value
*
* if isinstance(value, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
@@ -5458,7 +6094,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":120
+ /* "dependency_injector/containers.pyx":148
* :rtype: None
* """
* if isinstance(value, providers.Provider) \ # <<<<<<<<<<<<<<
@@ -5467,16 +6103,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":130
+ /* "dependency_injector/containers.pyx":158
* value.assign_parent(self)
*
* super(DynamicContainer, self).__setattr__(name, value) # <<<<<<<<<<<<<<
*
* def __delattr__(self, name):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
@@ -5484,10 +6120,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_self);
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_setattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_setattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -5505,7 +6141,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_value};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
@@ -5513,13 +6149,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_value};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL;
@@ -5530,14 +6166,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_value);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":106
+ /* "dependency_injector/containers.pyx":134
* return copied
*
* def __setattr__(self, name, value): # <<<<<<<<<<<<<<
@@ -5561,7 +6197,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":132
+/* "dependency_injector/containers.pyx":160
* super(DynamicContainer, self).__setattr__(name, value)
*
* def __delattr__(self, name): # <<<<<<<<<<<<<<
@@ -5583,7 +6219,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__delattr__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_name,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -5599,17 +6235,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, 1); __PYX_ERR(0, 132, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, 1); __PYX_ERR(0, 160, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__delattr__") < 0)) __PYX_ERR(0, 132, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__delattr__") < 0)) __PYX_ERR(0, 160, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -5622,7 +6258,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 132, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 160, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.__delattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -5648,33 +6284,33 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__delattr__", 0);
- /* "dependency_injector/containers.pyx":143
+ /* "dependency_injector/containers.pyx":171
* :rtype: None
* """
* if name in self.providers: # <<<<<<<<<<<<<<
* del self.providers[name]
* super(DynamicContainer, self).__delattr__(name)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 143, __pyx_L1_error)
+ __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 171, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/containers.pyx":144
+ /* "dependency_injector/containers.pyx":172
* """
* if name in self.providers:
* del self.providers[name] # <<<<<<<<<<<<<<
* super(DynamicContainer, self).__delattr__(name)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(PyObject_DelItem(__pyx_t_1, __pyx_v_name) < 0)) __PYX_ERR(0, 144, __pyx_L1_error)
+ if (unlikely(PyObject_DelItem(__pyx_t_1, __pyx_v_name) < 0)) __PYX_ERR(0, 172, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":143
+ /* "dependency_injector/containers.pyx":171
* :rtype: None
* """
* if name in self.providers: # <<<<<<<<<<<<<<
@@ -5683,16 +6319,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":145
+ /* "dependency_injector/containers.pyx":173
* if name in self.providers:
* del self.providers[name]
* super(DynamicContainer, self).__delattr__(name) # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
@@ -5700,10 +6336,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_self);
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_delattr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_delattr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -5718,12 +6354,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":132
+ /* "dependency_injector/containers.pyx":160
* super(DynamicContainer, self).__setattr__(name, value)
*
* def __delattr__(self, name): # <<<<<<<<<<<<<<
@@ -5746,7 +6382,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":148
+/* "dependency_injector/containers.pyx":176
*
* @property
* def dependencies(self): # <<<<<<<<<<<<<<
@@ -5791,7 +6427,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("dependencies", 0);
- /* "dependency_injector/containers.pyx":157
+ /* "dependency_injector/containers.pyx":185
* dict[str, :py:class:`dependency_injector.providers.Provider`]
* """
* return { # <<<<<<<<<<<<<<
@@ -5800,19 +6436,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
__Pyx_XDECREF(__pyx_r);
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L5_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":159
+ /* "dependency_injector/containers.pyx":187
* return {
* name: provider
* for name, provider in self.providers.items() # <<<<<<<<<<<<<<
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer))
* }
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -5827,16 +6463,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L5_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L5_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -5844,17 +6480,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 187, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 187, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -5864,7 +6500,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 159, __pyx_L5_error)
+ else __PYX_ERR(0, 187, __pyx_L5_error)
}
break;
}
@@ -5876,7 +6512,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 159, __pyx_L5_error)
+ __PYX_ERR(0, 187, __pyx_L5_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -5889,15 +6525,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 159, __pyx_L5_error)
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 187, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
@@ -5905,7 +6541,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 159, __pyx_L5_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 187, __pyx_L5_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L9_unpacking_done;
@@ -5913,7 +6549,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 159, __pyx_L5_error)
+ __PYX_ERR(0, 187, __pyx_L5_error)
__pyx_L9_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_name, __pyx_t_3);
@@ -5921,21 +6557,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_provider, __pyx_t_7);
__pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":160
+ /* "dependency_injector/containers.pyx":188
* name: provider
* for name, provider in self.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer)) # <<<<<<<<<<<<<<
* }
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L5_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 160, __pyx_L5_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 188, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L5_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_DependenciesContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L5_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_DependenciesContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_11 = PyObject_IsInstance(__pyx_7genexpr__pyx_v_provider, __pyx_t_7);
@@ -5954,16 +6590,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_11 = (__pyx_t_10 != 0);
if (__pyx_t_11) {
- /* "dependency_injector/containers.pyx":158
+ /* "dependency_injector/containers.pyx":186
* """
* return {
* name: provider # <<<<<<<<<<<<<<
* for name, provider in self.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer))
*/
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_7genexpr__pyx_v_name, (PyObject*)__pyx_7genexpr__pyx_v_provider))) __PYX_ERR(0, 158, __pyx_L5_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_7genexpr__pyx_v_name, (PyObject*)__pyx_7genexpr__pyx_v_provider))) __PYX_ERR(0, 186, __pyx_L5_error)
- /* "dependency_injector/containers.pyx":160
+ /* "dependency_injector/containers.pyx":188
* name: provider
* for name, provider in self.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer)) # <<<<<<<<<<<<<<
@@ -5972,7 +6608,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":159
+ /* "dependency_injector/containers.pyx":187
* return {
* name: provider
* for name, provider in self.providers.items() # <<<<<<<<<<<<<<
@@ -5994,7 +6630,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":148
+ /* "dependency_injector/containers.pyx":176
*
* @property
* def dependencies(self): # <<<<<<<<<<<<<<
@@ -6021,7 +6657,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_12generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":163
+/* "dependency_injector/containers.pyx":191
* }
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
@@ -6043,7 +6679,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("traverse (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_types,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_types,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
@@ -6060,7 +6696,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -6070,7 +6706,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(0, 163, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(0, 191, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6086,7 +6722,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("traverse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 163, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("traverse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 191, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.traverse", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -6111,7 +6747,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct__traverse *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 163, __pyx_L1_error)
+ __PYX_ERR(0, 191, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -6122,7 +6758,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_types);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_types);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_12generator, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_DynamicContainer_traverse, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_12generator, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_DynamicContainer_traverse, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 191, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -6159,23 +6795,23 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 163, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 191, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":165
+ /* "dependency_injector/containers.pyx":193
* def traverse(self, types=None):
* """Return providers traversal generator."""
* yield from providers.traverse(*self.providers.values(), types=types) # <<<<<<<<<<<<<<
*
* def set_providers(self, **providers):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -6190,16 +6826,16 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_types, __pyx_cur_scope->__pyx_v_types) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_types, __pyx_cur_scope->__pyx_v_types) < 0) __PYX_ERR(0, 193, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -6215,17 +6851,17 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 165, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 193, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 165, __pyx_L1_error)
+ else __PYX_ERR(0, 193, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/containers.pyx":163
+ /* "dependency_injector/containers.pyx":191
* }
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
@@ -6253,7 +6889,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":167
+/* "dependency_injector/containers.pyx":195
* yield from providers.traverse(*self.providers.values(), types=types)
*
* def set_providers(self, **providers): # <<<<<<<<<<<<<<
@@ -6277,7 +6913,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_providers = PyDict_New(); if (unlikely(!__pyx_v_providers)) return NULL;
__Pyx_GOTREF(__pyx_v_providers);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
PyObject* values[1] = {0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -6291,11 +6927,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_providers, values, pos_args, "set_providers") < 0)) __PYX_ERR(0, 167, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_providers, values, pos_args, "set_providers") < 0)) __PYX_ERR(0, 195, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -6306,7 +6942,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_providers", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 167, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_providers", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 195, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_providers); __pyx_v_providers = 0;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.set_providers", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -6340,16 +6976,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_providers", 0);
- /* "dependency_injector/containers.pyx":176
+ /* "dependency_injector/containers.pyx":204
* :rtype: None
* """
* for name, provider in six.iteritems(providers): # <<<<<<<<<<<<<<
* setattr(self, name, provider)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -6364,16 +7000,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_providers) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_providers);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -6381,17 +7017,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 204, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 204, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -6401,7 +7037,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 176, __pyx_L1_error)
+ else __PYX_ERR(0, 204, __pyx_L1_error)
}
break;
}
@@ -6413,7 +7049,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 176, __pyx_L1_error)
+ __PYX_ERR(0, 204, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -6426,15 +7062,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -6442,7 +7078,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 204, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -6450,7 +7086,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 176, __pyx_L1_error)
+ __PYX_ERR(0, 204, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
@@ -6458,16 +7094,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":177
+ /* "dependency_injector/containers.pyx":205
* """
* for name, provider in six.iteritems(providers):
* setattr(self, name, provider) # <<<<<<<<<<<<<<
*
* def set_provider(self, name, provider):
*/
- __pyx_t_9 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 177, __pyx_L1_error)
+ __pyx_t_9 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 205, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":176
+ /* "dependency_injector/containers.pyx":204
* :rtype: None
* """
* for name, provider in six.iteritems(providers): # <<<<<<<<<<<<<<
@@ -6477,7 +7113,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":167
+ /* "dependency_injector/containers.pyx":195
* yield from providers.traverse(*self.providers.values(), types=types)
*
* def set_providers(self, **providers): # <<<<<<<<<<<<<<
@@ -6504,7 +7140,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":179
+/* "dependency_injector/containers.pyx":207
* setattr(self, name, provider)
*
* def set_provider(self, name, provider): # <<<<<<<<<<<<<<
@@ -6527,7 +7163,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provider (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_name,&__pyx_n_s_provider,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_provider,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -6545,23 +7181,23 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, 1); __PYX_ERR(0, 179, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, 1); __PYX_ERR(0, 207, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provider)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, 2); __PYX_ERR(0, 179, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, 2); __PYX_ERR(0, 207, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_provider") < 0)) __PYX_ERR(0, 179, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_provider") < 0)) __PYX_ERR(0, 207, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -6576,7 +7212,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 179, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_provider", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 207, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.set_provider", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -6598,16 +7234,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_provider", 0);
- /* "dependency_injector/containers.pyx":190
+ /* "dependency_injector/containers.pyx":218
* :rtype: None
* """
* setattr(self, name, provider) # <<<<<<<<<<<<<<
*
* def override(self, object overriding):
*/
- __pyx_t_1 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 190, __pyx_L1_error)
+ __pyx_t_1 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 218, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":179
+ /* "dependency_injector/containers.pyx":207
* setattr(self, name, provider)
*
* def set_provider(self, name, provider): # <<<<<<<<<<<<<<
@@ -6627,7 +7263,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":192
+/* "dependency_injector/containers.pyx":220
* setattr(self, name, provider)
*
* def override(self, object overriding): # <<<<<<<<<<<<<<
@@ -6649,7 +7285,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("override (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_overriding,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_overriding,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -6665,17 +7301,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overriding)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, 1); __PYX_ERR(0, 192, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, 1); __PYX_ERR(0, 220, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "override") < 0)) __PYX_ERR(0, 192, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "override") < 0)) __PYX_ERR(0, 220, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -6688,7 +7324,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 192, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 220, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.override", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -6725,7 +7361,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/containers.pyx":203
+ /* "dependency_injector/containers.pyx":231
* :rtype: None
* """
* if overriding is self: # <<<<<<<<<<<<<<
@@ -6736,27 +7372,27 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/containers.pyx":204
+ /* "dependency_injector/containers.pyx":232
* """
* if overriding is self:
* raise errors.Error('Container {0} could not be overridden ' # <<<<<<<<<<<<<<
* 'with itself'.format(self))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 204, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":205
+ /* "dependency_injector/containers.pyx":233
* if overriding is self:
* raise errors.Error('Container {0} could not be overridden '
* 'with itself'.format(self)) # <<<<<<<<<<<<<<
*
* self.overridden += (overriding,)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_could_not_be_overrid, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 205, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_could_not_be_overrid, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -6770,7 +7406,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -6786,14 +7422,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(0, 204, __pyx_L1_error)
+ __PYX_ERR(0, 232, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":203
+ /* "dependency_injector/containers.pyx":231
* :rtype: None
* """
* if overriding is self: # <<<<<<<<<<<<<<
@@ -6802,40 +7438,40 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":207
+ /* "dependency_injector/containers.pyx":235
* 'with itself'.format(self))
*
* self.overridden += (overriding,) # <<<<<<<<<<<<<<
*
* for name, provider in six.iteritems(overriding.providers):
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_overriding);
__Pyx_GIVEREF(__pyx_v_overriding);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_overriding);
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_4) < 0) __PYX_ERR(0, 207, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_4) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":209
+ /* "dependency_injector/containers.pyx":237
* self.overridden += (overriding,)
*
* for name, provider in six.iteritems(overriding.providers): # <<<<<<<<<<<<<<
* try:
* getattr(self, name).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_overriding, __pyx_n_s_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_overriding, __pyx_n_s_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -6850,16 +7486,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
- __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 237, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
@@ -6867,17 +7503,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 237, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 237, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -6887,7 +7523,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 209, __pyx_L1_error)
+ else __PYX_ERR(0, 237, __pyx_L1_error)
}
break;
}
@@ -6899,7 +7535,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 209, __pyx_L1_error)
+ __PYX_ERR(0, 237, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -6912,15 +7548,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 209, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -6928,7 +7564,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_7), 2) < 0) __PYX_ERR(0, 209, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_7), 2) < 0) __PYX_ERR(0, 237, __pyx_L1_error)
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L7_unpacking_done;
@@ -6936,7 +7572,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 209, __pyx_L1_error)
+ __PYX_ERR(0, 237, __pyx_L1_error)
__pyx_L7_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -6944,7 +7580,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":210
+ /* "dependency_injector/containers.pyx":238
*
* for name, provider in six.iteritems(overriding.providers):
* try: # <<<<<<<<<<<<<<
@@ -6960,16 +7596,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XGOTREF(__pyx_t_13);
/*try:*/ {
- /* "dependency_injector/containers.pyx":211
+ /* "dependency_injector/containers.pyx":239
* for name, provider in six.iteritems(overriding.providers):
* try:
* getattr(self, name).override(provider) # <<<<<<<<<<<<<<
* except AttributeError:
* pass
*/
- __pyx_t_6 = __Pyx_GetAttr(__pyx_v_self, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 211, __pyx_L8_error)
+ __pyx_t_6 = __Pyx_GetAttr(__pyx_v_self, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 239, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L8_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -6984,12 +7620,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L8_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":210
+ /* "dependency_injector/containers.pyx":238
*
* for name, provider in six.iteritems(overriding.providers):
* try: # <<<<<<<<<<<<<<
@@ -7007,7 +7643,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":212
+ /* "dependency_injector/containers.pyx":240
* try:
* getattr(self, name).override(provider)
* except AttributeError: # <<<<<<<<<<<<<<
@@ -7022,7 +7658,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
goto __pyx_L10_except_error;
__pyx_L10_except_error:;
- /* "dependency_injector/containers.pyx":210
+ /* "dependency_injector/containers.pyx":238
*
* for name, provider in six.iteritems(overriding.providers):
* try: # <<<<<<<<<<<<<<
@@ -7042,7 +7678,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_L15_try_end:;
}
- /* "dependency_injector/containers.pyx":209
+ /* "dependency_injector/containers.pyx":237
* self.overridden += (overriding,)
*
* for name, provider in six.iteritems(overriding.providers): # <<<<<<<<<<<<<<
@@ -7052,7 +7688,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":192
+ /* "dependency_injector/containers.pyx":220
* setattr(self, name, provider)
*
* def override(self, object overriding): # <<<<<<<<<<<<<<
@@ -7079,7 +7715,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":215
+/* "dependency_injector/containers.pyx":243
* pass
*
* def override_providers(self, **overriding_providers): # <<<<<<<<<<<<<<
@@ -7103,7 +7739,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_overriding_providers = PyDict_New(); if (unlikely(!__pyx_v_overriding_providers)) return NULL;
__Pyx_GOTREF(__pyx_v_overriding_providers);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
PyObject* values[1] = {0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -7117,11 +7753,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "override_providers") < 0)) __PYX_ERR(0, 215, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "override_providers") < 0)) __PYX_ERR(0, 243, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -7132,7 +7768,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("override_providers", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 215, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("override_providers", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 243, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_overriding_providers); __pyx_v_overriding_providers = 0;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.override_providers", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -7148,6 +7784,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_19override_providers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_overriding_providers) {
+ PyObject *__pyx_v_overridden_providers = NULL;
PyObject *__pyx_v_name = NULL;
PyObject *__pyx_v_overriding_provider = NULL;
PyObject *__pyx_v_container_provider = NULL;
@@ -7161,21 +7798,35 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
PyObject *(*__pyx_t_8)(PyObject *);
+ int __pyx_t_9;
+ int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override_providers", 0);
- /* "dependency_injector/containers.pyx":224
+ /* "dependency_injector/containers.pyx":252
* :rtype: None
* """
+ * overridden_providers = [] # <<<<<<<<<<<<<<
+ * for name, overriding_provider in six.iteritems(overriding_providers):
+ * container_provider = getattr(self, name)
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_v_overridden_providers = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":253
+ * """
+ * overridden_providers = []
* for name, overriding_provider in six.iteritems(overriding_providers): # <<<<<<<<<<<<<<
* container_provider = getattr(self, name)
* container_provider.override(overriding_provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -7190,16 +7841,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_overriding_providers) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_overriding_providers);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 253, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -7207,17 +7858,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 253, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 253, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -7227,7 +7878,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 224, __pyx_L1_error)
+ else __PYX_ERR(0, 253, __pyx_L1_error)
}
break;
}
@@ -7239,7 +7890,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 224, __pyx_L1_error)
+ __PYX_ERR(0, 253, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -7252,15 +7903,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 224, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 253, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -7268,7 +7919,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 253, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -7276,7 +7927,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 224, __pyx_L1_error)
+ __PYX_ERR(0, 253, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
@@ -7284,26 +7935,26 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_overriding_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":225
- * """
+ /* "dependency_injector/containers.pyx":254
+ * overridden_providers = []
* for name, overriding_provider in six.iteritems(overriding_providers):
* container_provider = getattr(self, name) # <<<<<<<<<<<<<<
* container_provider.override(overriding_provider)
- *
+ * overridden_providers.append(container_provider)
*/
- __pyx_t_1 = __Pyx_GetAttr(__pyx_v_self, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetAttr(__pyx_v_self, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_container_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":226
+ /* "dependency_injector/containers.pyx":255
* for name, overriding_provider in six.iteritems(overriding_providers):
* container_provider = getattr(self, name)
* container_provider.override(overriding_provider) # <<<<<<<<<<<<<<
- *
- * def reset_last_overriding(self):
+ * overridden_providers.append(container_provider)
+ * return ProvidersOverridingContext(self, overridden_providers)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_container_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_container_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -7317,14 +7968,23 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_v_overriding_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_overriding_provider);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":224
- * :rtype: None
+ /* "dependency_injector/containers.pyx":256
+ * container_provider = getattr(self, name)
+ * container_provider.override(overriding_provider)
+ * overridden_providers.append(container_provider) # <<<<<<<<<<<<<<
+ * return ProvidersOverridingContext(self, overridden_providers)
+ *
+ */
+ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_overridden_providers, __pyx_v_container_provider); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 256, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":253
* """
+ * overridden_providers = []
* for name, overriding_provider in six.iteritems(overriding_providers): # <<<<<<<<<<<<<<
* container_provider = getattr(self, name)
* container_provider.override(overriding_provider)
@@ -7332,7 +7992,66 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":215
+ /* "dependency_injector/containers.pyx":257
+ * container_provider.override(overriding_provider)
+ * overridden_providers.append(container_provider)
+ * return ProvidersOverridingContext(self, overridden_providers) # <<<<<<<<<<<<<<
+ *
+ * def reset_last_overriding(self):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ProvidersOverridingContext); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = NULL;
+ __pyx_t_10 = 0;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ __pyx_t_10 = 1;
+ }
+ }
+ #if CYTHON_FAST_PYCALL
+ if (PyFunction_Check(__pyx_t_1)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_self, __pyx_v_overridden_providers};
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_GOTREF(__pyx_t_3);
+ } else
+ #endif
+ #if CYTHON_FAST_PYCCALL
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_self, __pyx_v_overridden_providers};
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_GOTREF(__pyx_t_3);
+ } else
+ #endif
+ {
+ __pyx_t_2 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ if (__pyx_t_6) {
+ __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL;
+ }
+ __Pyx_INCREF(__pyx_v_self);
+ __Pyx_GIVEREF(__pyx_v_self);
+ PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_10, __pyx_v_self);
+ __Pyx_INCREF(__pyx_v_overridden_providers);
+ __Pyx_GIVEREF(__pyx_v_overridden_providers);
+ PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_10, __pyx_v_overridden_providers);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":243
* pass
*
* def override_providers(self, **overriding_providers): # <<<<<<<<<<<<<<
@@ -7341,8 +8060,6 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* function exit code */
- __pyx_r = Py_None; __Pyx_INCREF(Py_None);
- goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
@@ -7352,6 +8069,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.override_providers", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_overridden_providers);
__Pyx_XDECREF(__pyx_v_name);
__Pyx_XDECREF(__pyx_v_overriding_provider);
__Pyx_XDECREF(__pyx_v_container_provider);
@@ -7360,8 +8078,8 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":228
- * container_provider.override(overriding_provider)
+/* "dependency_injector/containers.pyx":259
+ * return ProvidersOverridingContext(self, overridden_providers)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
@@ -7401,33 +8119,33 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/containers.pyx":233
+ /* "dependency_injector/containers.pyx":264
* :rtype: None
* """
* if not self.overridden: # <<<<<<<<<<<<<<
* raise errors.Error('Container {0} is not overridden'.format(self))
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 233, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 264, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!__pyx_t_2) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/containers.pyx":234
+ /* "dependency_injector/containers.pyx":265
* """
* if not self.overridden:
* raise errors.Error('Container {0} is not overridden'.format(self)) # <<<<<<<<<<<<<<
*
* self.overridden = self.overridden[:-1]
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 234, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -7441,7 +8159,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -7457,14 +8175,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 234, __pyx_L1_error)
+ __PYX_ERR(0, 265, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":233
+ /* "dependency_injector/containers.pyx":264
* :rtype: None
* """
* if not self.overridden: # <<<<<<<<<<<<<<
@@ -7473,34 +8191,34 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":236
+ /* "dependency_injector/containers.pyx":267
* raise errors.Error('Container {0} is not overridden'.format(self))
*
* self.overridden = self.overridden[:-1] # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(self.providers):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, -1L, NULL, NULL, &__pyx_slice__3, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, -1L, NULL, NULL, &__pyx_slice__3, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_5) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_5) < 0) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":238
+ /* "dependency_injector/containers.pyx":269
* self.overridden = self.overridden[:-1]
*
* for provider in six.itervalues(self.providers): # <<<<<<<<<<<<<<
* provider.reset_last_overriding()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -7515,16 +8233,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
- __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -7532,17 +8250,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 269, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 269, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -7552,7 +8270,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 238, __pyx_L1_error)
+ else __PYX_ERR(0, 269, __pyx_L1_error)
}
break;
}
@@ -7561,14 +8279,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":239
+ /* "dependency_injector/containers.pyx":270
*
* for provider in six.itervalues(self.providers):
* provider.reset_last_overriding() # <<<<<<<<<<<<<<
*
* def reset_override(self):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -7582,12 +8300,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":238
+ /* "dependency_injector/containers.pyx":269
* self.overridden = self.overridden[:-1]
*
* for provider in six.itervalues(self.providers): # <<<<<<<<<<<<<<
@@ -7597,8 +8315,8 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":228
- * container_provider.override(overriding_provider)
+ /* "dependency_injector/containers.pyx":259
+ * return ProvidersOverridingContext(self, overridden_providers)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
@@ -7623,7 +8341,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":241
+/* "dependency_injector/containers.pyx":272
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -7661,31 +8379,31 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/containers.pyx":246
+ /* "dependency_injector/containers.pyx":277
* :rtype: None
* """
* self.overridden = tuple() # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(self.providers):
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_1) < 0) __PYX_ERR(0, 246, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden, __pyx_t_1) < 0) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":248
+ /* "dependency_injector/containers.pyx":279
* self.overridden = tuple()
*
* for provider in six.itervalues(self.providers): # <<<<<<<<<<<<<<
* provider.reset_override()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -7700,16 +8418,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 279, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -7717,17 +8435,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 279, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 279, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -7737,7 +8455,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 248, __pyx_L1_error)
+ else __PYX_ERR(0, 279, __pyx_L1_error)
}
break;
}
@@ -7746,14 +8464,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":249
+ /* "dependency_injector/containers.pyx":280
*
* for provider in six.itervalues(self.providers):
* provider.reset_override() # <<<<<<<<<<<<<<
*
- * def wire(self, modules=None, packages=None):
+ * def is_auto_wiring_enabled(self):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -7767,12 +8485,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":248
+ /* "dependency_injector/containers.pyx":279
* self.overridden = tuple()
*
* for provider in six.itervalues(self.providers): # <<<<<<<<<<<<<<
@@ -7782,7 +8500,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":241
+ /* "dependency_injector/containers.pyx":272
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -7807,22 +8525,98 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":251
+/* "dependency_injector/containers.pyx":282
* provider.reset_override()
*
- * def wire(self, modules=None, packages=None): # <<<<<<<<<<<<<<
+ * def is_auto_wiring_enabled(self): # <<<<<<<<<<<<<<
+ * """Check if auto wiring is needed."""
+ * return self.wiring_config.auto_wire is True
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26is_auto_wiring_enabled(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_25is_auto_wiring_enabled[] = "Check if auto wiring is needed.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_26is_auto_wiring_enabled = {"is_auto_wiring_enabled", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26is_auto_wiring_enabled, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_25is_auto_wiring_enabled};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26is_auto_wiring_enabled(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("is_auto_wiring_enabled (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_25is_auto_wiring_enabled(__pyx_self, ((PyObject *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_25is_auto_wiring_enabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ int __pyx_t_3;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("is_auto_wiring_enabled", 0);
+
+ /* "dependency_injector/containers.pyx":284
+ * def is_auto_wiring_enabled(self):
+ * """Check if auto wiring is needed."""
+ * return self.wiring_config.auto_wire is True # <<<<<<<<<<<<<<
+ *
+ * def wire(self, modules=None, packages=None, from_package=None):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_auto_wire); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 284, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_3 = (__pyx_t_2 == Py_True);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 284, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":282
+ * provider.reset_override()
+ *
+ * def is_auto_wiring_enabled(self): # <<<<<<<<<<<<<<
+ * """Check if auto wiring is needed."""
+ * return self.wiring_config.auto_wire is True
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.is_auto_wiring_enabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":286
+ * return self.wiring_config.auto_wire is True
+ *
+ * def wire(self, modules=None, packages=None, from_package=None): # <<<<<<<<<<<<<<
* """Wire container providers with provided packages and modules.
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26wire(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_25wire[] = "Wire container providers with provided packages and modules.\n\n :rtype: None\n ";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_26wire = {"wire", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26wire, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_25wire};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_26wire(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28wire(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_27wire[] = "Wire container providers with provided packages and modules.\n\n :rtype: None\n ";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_28wire = {"wire", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28wire, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_27wire};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28wire(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_modules = 0;
PyObject *__pyx_v_packages = 0;
+ PyObject *__pyx_v_from_package = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -7830,14 +8624,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wire (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_modules,&__pyx_n_s_packages,0};
- PyObject* values[3] = {0,0,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_modules,&__pyx_n_s_packages,&__pyx_n_s_from_package,0};
+ PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
values[2] = ((PyObject *)((PyObject *)Py_None));
+ values[3] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -7850,7 +8647,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
@@ -7864,12 +8661,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_packages);
if (value) { values[2] = value; kw_args--; }
}
+ CYTHON_FALLTHROUGH;
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from_package);
+ if (value) { values[3] = value; kw_args--; }
+ }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "wire") < 0)) __PYX_ERR(0, 251, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "wire") < 0)) __PYX_ERR(0, 286, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -7882,186 +8687,869 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_self = values[0];
__pyx_v_modules = values[1];
__pyx_v_packages = values[2];
+ __pyx_v_from_package = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("wire", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 251, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("wire", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 286, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.wire", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_25wire(__pyx_self, __pyx_v_self, __pyx_v_modules, __pyx_v_packages);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_27wire(__pyx_self, __pyx_v_self, __pyx_v_modules, __pyx_v_packages, __pyx_v_from_package);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_25wire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_27wire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_packages, PyObject *__pyx_v_from_package) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_t_4;
+ int __pyx_t_1;
+ int __pyx_t_2;
+ int __pyx_t_3;
+ PyObject *__pyx_t_4 = NULL;
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
+ PyObject *__pyx_t_10 = NULL;
+ PyObject *__pyx_t_11 = NULL;
+ PyObject *__pyx_t_12 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("wire", 0);
+ __Pyx_INCREF(__pyx_v_modules);
+ __Pyx_INCREF(__pyx_v_packages);
+ __Pyx_INCREF(__pyx_v_from_package);
- /* "dependency_injector/containers.pyx":256
+ /* "dependency_injector/containers.pyx":291
* :rtype: None
* """
+ * if modules is None and self.wiring_config.modules: # <<<<<<<<<<<<<<
+ * modules = self.wiring_config.modules
+ * if packages is None and self.wiring_config.packages:
+ */
+ __pyx_t_2 = (__pyx_v_modules == Py_None);
+ __pyx_t_3 = (__pyx_t_2 != 0);
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_1 = __pyx_t_3;
+ goto __pyx_L4_bool_binop_done;
+ }
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_modules); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 291, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 291, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_L4_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":292
+ * """
+ * if modules is None and self.wiring_config.modules:
+ * modules = self.wiring_config.modules # <<<<<<<<<<<<<<
+ * if packages is None and self.wiring_config.packages:
+ * packages = self.wiring_config.packages
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 292, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_modules); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_modules, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":291
+ * :rtype: None
+ * """
+ * if modules is None and self.wiring_config.modules: # <<<<<<<<<<<<<<
+ * modules = self.wiring_config.modules
+ * if packages is None and self.wiring_config.packages:
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":293
+ * if modules is None and self.wiring_config.modules:
+ * modules = self.wiring_config.modules
+ * if packages is None and self.wiring_config.packages: # <<<<<<<<<<<<<<
+ * packages = self.wiring_config.packages
+ *
+ */
+ __pyx_t_3 = (__pyx_v_packages == Py_None);
+ __pyx_t_2 = (__pyx_t_3 != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L7_bool_binop_done;
+ }
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_packages); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L7_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":294
+ * modules = self.wiring_config.modules
+ * if packages is None and self.wiring_config.packages:
+ * packages = self.wiring_config.packages # <<<<<<<<<<<<<<
+ *
+ * modules = [*modules] if modules else []
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_packages); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_packages, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":293
+ * if modules is None and self.wiring_config.modules:
+ * modules = self.wiring_config.modules
+ * if packages is None and self.wiring_config.packages: # <<<<<<<<<<<<<<
+ * packages = self.wiring_config.packages
+ *
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":296
+ * packages = self.wiring_config.packages
+ *
+ * modules = [*modules] if modules else [] # <<<<<<<<<<<<<<
+ * packages = [*packages] if packages else []
+ *
+ */
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_modules); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 296, __pyx_L1_error)
+ if (__pyx_t_1) {
+ __pyx_t_5 = PySequence_List(__pyx_v_modules); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 296, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __pyx_t_5;
+ __pyx_t_5 = 0;
+ } else {
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 296, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __pyx_t_5;
+ __pyx_t_5 = 0;
+ }
+ __Pyx_DECREF_SET(__pyx_v_modules, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":297
+ *
+ * modules = [*modules] if modules else []
+ * packages = [*packages] if packages else [] # <<<<<<<<<<<<<<
+ *
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ */
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_packages); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 297, __pyx_L1_error)
+ if (__pyx_t_1) {
+ __pyx_t_5 = PySequence_List(__pyx_v_packages); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 297, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __pyx_t_5;
+ __pyx_t_5 = 0;
+ } else {
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 297, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __pyx_t_5;
+ __pyx_t_5 = 0;
+ }
+ __Pyx_DECREF_SET(__pyx_v_packages, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":299
+ * packages = [*packages] if packages else []
+ *
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages): # <<<<<<<<<<<<<<
+ * if from_package is None:
+ * if self.wiring_config.from_package is not None:
+ */
+ __pyx_t_2 = (__pyx_f_19dependency_injector_10containers__any_relative_string_imports_in(__pyx_v_modules, 0) != 0);
+ if (!__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L10_bool_binop_done;
+ }
+ __pyx_t_2 = (__pyx_f_19dependency_injector_10containers__any_relative_string_imports_in(__pyx_v_packages, 0) != 0);
+ __pyx_t_1 = __pyx_t_2;
+ __pyx_L10_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":300
+ *
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ * if from_package is None: # <<<<<<<<<<<<<<
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package
+ */
+ __pyx_t_1 = (__pyx_v_from_package == Py_None);
+ __pyx_t_2 = (__pyx_t_1 != 0);
+ if (__pyx_t_2) {
+
+ /* "dependency_injector/containers.pyx":301
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ * if from_package is None:
+ * if self.wiring_config.from_package is not None: # <<<<<<<<<<<<<<
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_from_package); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 301, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_2 = (__pyx_t_5 != Py_None);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_1 = (__pyx_t_2 != 0);
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":302
+ * if from_package is None:
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package # <<<<<<<<<<<<<<
+ * elif self.declarative_parent is not None \
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 302, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_from_package); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 302, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF_SET(__pyx_v_from_package, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":301
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ * if from_package is None:
+ * if self.wiring_config.from_package is not None: # <<<<<<<<<<<<<<
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \
+ */
+ goto __pyx_L13;
+ }
+
+ /* "dependency_injector/containers.pyx":303
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \ # <<<<<<<<<<<<<<
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception):
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 303, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_2 = (__pyx_t_4 != Py_None);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = (__pyx_t_2 != 0);
+ if (__pyx_t_3) {
+ } else {
+ __pyx_t_1 = __pyx_t_3;
+ goto __pyx_L14_bool_binop_done;
+ }
+
+ /* "dependency_injector/containers.pyx":304
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \
+ * and (self.wiring_config.modules or self.wiring_config.packages): # <<<<<<<<<<<<<<
+ * with contextlib.suppress(Exception):
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_modules); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (!__pyx_t_3) {
+ } else {
+ __pyx_t_1 = __pyx_t_3;
+ goto __pyx_L14_bool_binop_done;
+ }
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_packages); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_L14_bool_binop_done:;
+
+ /* "dependency_injector/containers.pyx":303
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \ # <<<<<<<<<<<<<<
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception):
+ */
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":305
+ * elif self.declarative_parent is not None \
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception): # <<<<<<<<<<<<<<
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ * else:
+ */
+ /*with:*/ {
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_contextlib); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_suppress); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_5)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_5);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L17_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_8 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L17_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ /*try:*/ {
+ {
+ __Pyx_PyThreadState_declare
+ __Pyx_PyThreadState_assign
+ __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+ __Pyx_XGOTREF(__pyx_t_9);
+ __Pyx_XGOTREF(__pyx_t_10);
+ __Pyx_XGOTREF(__pyx_t_11);
+ /*try:*/ {
+
+ /* "dependency_injector/containers.pyx":306
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception):
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent) # <<<<<<<<<<<<<<
+ * else:
+ * with contextlib.suppress(Exception):
+ */
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 306, __pyx_L21_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __pyx_f_19dependency_injector_10containers__resolve_package_name_from_cls(__pyx_t_4, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 306, __pyx_L21_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF_SET(__pyx_v_from_package, __pyx_t_6);
+ __pyx_t_6 = 0;
+
+ /* "dependency_injector/containers.pyx":305
+ * elif self.declarative_parent is not None \
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception): # <<<<<<<<<<<<<<
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ * else:
+ */
+ }
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ goto __pyx_L26_try_end;
+ __pyx_L21_error:;
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ /*except:*/ {
+ __Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.wire", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 305, __pyx_L23_except_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_8 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 305, __pyx_L23_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 305, __pyx_L23_except_error)
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ if (__pyx_t_1 < 0) __PYX_ERR(0, 305, __pyx_L23_except_error)
+ __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_3) {
+ __Pyx_GIVEREF(__pyx_t_6);
+ __Pyx_GIVEREF(__pyx_t_4);
+ __Pyx_XGIVEREF(__pyx_t_5);
+ __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_4, __pyx_t_5);
+ __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0;
+ __PYX_ERR(0, 305, __pyx_L23_except_error)
+ }
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ goto __pyx_L22_exception_handled;
+ }
+ __pyx_L23_except_error:;
+ __Pyx_XGIVEREF(__pyx_t_9);
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+ goto __pyx_L1_error;
+ __pyx_L22_exception_handled:;
+ __Pyx_XGIVEREF(__pyx_t_9);
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+ __pyx_L26_try_end:;
+ }
+ }
+ /*finally:*/ {
+ /*normal exit:*/{
+ if (__pyx_t_7) {
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__4, NULL);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ goto __pyx_L20;
+ }
+ __pyx_L20:;
+ }
+ goto __pyx_L30;
+ __pyx_L17_error:;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L1_error;
+ __pyx_L30:;
+ }
+
+ /* "dependency_injector/containers.pyx":303
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package
+ * elif self.declarative_parent is not None \ # <<<<<<<<<<<<<<
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception):
+ */
+ goto __pyx_L13;
+ }
+
+ /* "dependency_injector/containers.pyx":308
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ * else:
+ * with contextlib.suppress(Exception): # <<<<<<<<<<<<<<
+ * from_package = _resolve_calling_package_name()
+ *
+ */
+ /*else*/ {
+ /*with:*/ {
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_contextlib); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_suppress); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __pyx_L31_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_8 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
+ }
+ }
+ __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 308, __pyx_L31_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ /*try:*/ {
+ {
+ __Pyx_PyThreadState_declare
+ __Pyx_PyThreadState_assign
+ __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+ __Pyx_XGOTREF(__pyx_t_11);
+ __Pyx_XGOTREF(__pyx_t_10);
+ __Pyx_XGOTREF(__pyx_t_9);
+ /*try:*/ {
+
+ /* "dependency_injector/containers.pyx":309
+ * else:
+ * with contextlib.suppress(Exception):
+ * from_package = _resolve_calling_package_name() # <<<<<<<<<<<<<<
+ *
+ * modules = _resolve_string_imports(modules, from_package)
+ */
+ __pyx_t_5 = __pyx_f_19dependency_injector_10containers__resolve_calling_package_name(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 309, __pyx_L35_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF_SET(__pyx_v_from_package, __pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "dependency_injector/containers.pyx":308
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ * else:
+ * with contextlib.suppress(Exception): # <<<<<<<<<<<<<<
+ * from_package = _resolve_calling_package_name()
+ *
+ */
+ }
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ goto __pyx_L40_try_end;
+ __pyx_L35_error:;
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ /*except:*/ {
+ __Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.wire", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 308, __pyx_L37_except_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_8 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 308, __pyx_L37_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 308, __pyx_L37_except_error)
+ __Pyx_GOTREF(__pyx_t_12);
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_12);
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+ if (__pyx_t_3 < 0) __PYX_ERR(0, 308, __pyx_L37_except_error)
+ __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0);
+ if (__pyx_t_1) {
+ __Pyx_GIVEREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_6);
+ __Pyx_XGIVEREF(__pyx_t_4);
+ __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_6, __pyx_t_4);
+ __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0;
+ __PYX_ERR(0, 308, __pyx_L37_except_error)
+ }
+ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ goto __pyx_L36_exception_handled;
+ }
+ __pyx_L37_except_error:;
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __Pyx_XGIVEREF(__pyx_t_9);
+ __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+ goto __pyx_L1_error;
+ __pyx_L36_exception_handled:;
+ __Pyx_XGIVEREF(__pyx_t_11);
+ __Pyx_XGIVEREF(__pyx_t_10);
+ __Pyx_XGIVEREF(__pyx_t_9);
+ __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+ __pyx_L40_try_end:;
+ }
+ }
+ /*finally:*/ {
+ /*normal exit:*/{
+ if (__pyx_t_7) {
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__4, NULL);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ }
+ goto __pyx_L34;
+ }
+ __pyx_L34:;
+ }
+ goto __pyx_L44;
+ __pyx_L31_error:;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ goto __pyx_L1_error;
+ __pyx_L44:;
+ }
+ }
+ __pyx_L13:;
+
+ /* "dependency_injector/containers.pyx":300
+ *
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ * if from_package is None: # <<<<<<<<<<<<<<
+ * if self.wiring_config.from_package is not None:
+ * from_package = self.wiring_config.from_package
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":299
+ * packages = [*packages] if packages else []
+ *
+ * if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages): # <<<<<<<<<<<<<<
+ * if from_package is None:
+ * if self.wiring_config.from_package is not None:
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":311
+ * from_package = _resolve_calling_package_name()
+ *
+ * modules = _resolve_string_imports(modules, from_package) # <<<<<<<<<<<<<<
+ * packages = _resolve_string_imports(packages, from_package)
+ *
+ */
+ __pyx_t_4 = __pyx_f_19dependency_injector_10containers__resolve_string_imports(__pyx_v_modules, __pyx_v_from_package, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 311, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF_SET(__pyx_v_modules, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":312
+ *
+ * modules = _resolve_string_imports(modules, from_package)
+ * packages = _resolve_string_imports(packages, from_package) # <<<<<<<<<<<<<<
+ *
+ * if not modules and not packages:
+ */
+ __pyx_t_4 = __pyx_f_19dependency_injector_10containers__resolve_string_imports(__pyx_v_packages, __pyx_v_from_package, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 312, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF_SET(__pyx_v_packages, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":314
+ * packages = _resolve_string_imports(packages, from_package)
+ *
+ * if not modules and not packages: # <<<<<<<<<<<<<<
+ * return
+ *
+ */
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_modules); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
+ __pyx_t_2 = ((!__pyx_t_3) != 0);
+ if (__pyx_t_2) {
+ } else {
+ __pyx_t_1 = __pyx_t_2;
+ goto __pyx_L46_bool_binop_done;
+ }
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_packages); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
+ __pyx_t_3 = ((!__pyx_t_2) != 0);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_L46_bool_binop_done:;
+ if (__pyx_t_1) {
+
+ /* "dependency_injector/containers.pyx":315
+ *
+ * if not modules and not packages:
+ * return # <<<<<<<<<<<<<<
+ *
+ * wire(
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":314
+ * packages = _resolve_string_imports(packages, from_package)
+ *
+ * if not modules and not packages: # <<<<<<<<<<<<<<
+ * return
+ *
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":317
+ * return
+ *
* wire( # <<<<<<<<<<<<<<
* container=self,
* modules=modules,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_wire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_wire); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 317, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/containers.pyx":257
- * """
+ /* "dependency_injector/containers.pyx":318
+ *
* wire(
* container=self, # <<<<<<<<<<<<<<
* modules=modules,
* packages=packages,
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_container, __pyx_v_self) < 0) __PYX_ERR(0, 257, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 318, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_container, __pyx_v_self) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":258
+ /* "dependency_injector/containers.pyx":319
* wire(
* container=self,
* modules=modules, # <<<<<<<<<<<<<<
* packages=packages,
* )
*/
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_modules, __pyx_v_modules) < 0) __PYX_ERR(0, 257, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_modules, __pyx_v_modules) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":259
+ /* "dependency_injector/containers.pyx":320
* container=self,
* modules=modules,
* packages=packages, # <<<<<<<<<<<<<<
* )
*
*/
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_packages, __pyx_v_packages) < 0) __PYX_ERR(0, 257, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_packages, __pyx_v_packages) < 0) __PYX_ERR(0, 318, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":256
- * :rtype: None
- * """
+ /* "dependency_injector/containers.pyx":317
+ * return
+ *
* wire( # <<<<<<<<<<<<<<
* container=self,
* modules=modules,
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 317, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":262
+ /* "dependency_injector/containers.pyx":323
* )
*
* if modules: # <<<<<<<<<<<<<<
* self.wired_to_modules.extend(modules)
- *
+ * if packages:
*/
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_modules); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 262, __pyx_L1_error)
- if (__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_modules); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 323, __pyx_L1_error)
+ if (__pyx_t_1) {
- /* "dependency_injector/containers.pyx":263
+ /* "dependency_injector/containers.pyx":324
*
* if modules:
* self.wired_to_modules.extend(modules) # <<<<<<<<<<<<<<
- *
* if packages:
+ * self.wired_to_packages.extend(packages)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_extend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_extend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ __Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_4, function);
}
}
- __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_v_modules) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_modules);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_modules) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_modules);
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":262
+ /* "dependency_injector/containers.pyx":323
* )
*
* if modules: # <<<<<<<<<<<<<<
* self.wired_to_modules.extend(modules)
- *
+ * if packages:
*/
}
- /* "dependency_injector/containers.pyx":265
+ /* "dependency_injector/containers.pyx":325
+ * if modules:
* self.wired_to_modules.extend(modules)
- *
* if packages: # <<<<<<<<<<<<<<
* self.wired_to_packages.extend(packages)
*
*/
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_packages); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 265, __pyx_L1_error)
- if (__pyx_t_4) {
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_packages); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 325, __pyx_L1_error)
+ if (__pyx_t_1) {
- /* "dependency_injector/containers.pyx":266
- *
+ /* "dependency_injector/containers.pyx":326
+ * self.wired_to_modules.extend(modules)
* if packages:
* self.wired_to_packages.extend(packages) # <<<<<<<<<<<<<<
*
* def unwire(self):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_extend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 326, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_extend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 326, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
}
}
- __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_packages) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_packages);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_packages) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_packages);
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 326, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":265
+ /* "dependency_injector/containers.pyx":325
+ * if modules:
* self.wired_to_modules.extend(modules)
- *
* if packages: # <<<<<<<<<<<<<<
* self.wired_to_packages.extend(packages)
*
*/
}
- /* "dependency_injector/containers.pyx":251
- * provider.reset_override()
+ /* "dependency_injector/containers.pyx":286
+ * return self.wiring_config.auto_wire is True
*
- * def wire(self, modules=None, packages=None): # <<<<<<<<<<<<<<
+ * def wire(self, modules=None, packages=None, from_package=None): # <<<<<<<<<<<<<<
* """Wire container providers with provided packages and modules.
*
*/
@@ -8070,18 +9558,22 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.wire", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_modules);
+ __Pyx_XDECREF(__pyx_v_packages);
+ __Pyx_XDECREF(__pyx_v_from_package);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":268
+/* "dependency_injector/containers.pyx":328
* self.wired_to_packages.extend(packages)
*
* def unwire(self): # <<<<<<<<<<<<<<
@@ -8090,21 +9582,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28unwire(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_27unwire[] = "Unwire container providers from previously wired packages and modules.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_28unwire = {"unwire", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28unwire, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_27unwire};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_28unwire(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30unwire(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_29unwire[] = "Unwire container providers from previously wired packages and modules.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_30unwire = {"unwire", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30unwire, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_29unwire};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30unwire(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("unwire (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_27unwire(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_29unwire(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_27unwire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_29unwire(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -8115,65 +9607,65 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("unwire", 0);
- /* "dependency_injector/containers.pyx":270
+ /* "dependency_injector/containers.pyx":330
* def unwire(self):
* """Unwire container providers from previously wired packages and modules."""
* unwire( # <<<<<<<<<<<<<<
* modules=self.wired_to_modules,
* packages=self.wired_to_packages,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_unwire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_unwire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":271
+ /* "dependency_injector/containers.pyx":331
* """Unwire container providers from previously wired packages and modules."""
* unwire(
* modules=self.wired_to_modules, # <<<<<<<<<<<<<<
* packages=self.wired_to_packages,
* )
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_modules, __pyx_t_3) < 0) __PYX_ERR(0, 271, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_modules, __pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":272
+ /* "dependency_injector/containers.pyx":332
* unwire(
* modules=self.wired_to_modules,
* packages=self.wired_to_packages, # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 272, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_packages, __pyx_t_3) < 0) __PYX_ERR(0, 271, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_packages, __pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":270
+ /* "dependency_injector/containers.pyx":330
* def unwire(self):
* """Unwire container providers from previously wired packages and modules."""
* unwire( # <<<<<<<<<<<<<<
* modules=self.wired_to_modules,
* packages=self.wired_to_packages,
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":275
+ /* "dependency_injector/containers.pyx":335
* )
*
* self.wired_to_modules.clear() # <<<<<<<<<<<<<<
* self.wired_to_packages.clear()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_modules); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_clear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_clear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -8188,21 +9680,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 275, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":276
+ /* "dependency_injector/containers.pyx":336
*
* self.wired_to_modules.clear()
* self.wired_to_packages.clear() # <<<<<<<<<<<<<<
*
* def init_resources(self):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 276, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wired_to_packages); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_clear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_clear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -8217,12 +9709,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 276, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":268
+ /* "dependency_injector/containers.pyx":328
* self.wired_to_packages.extend(packages)
*
* def unwire(self): # <<<<<<<<<<<<<<
@@ -8245,7 +9737,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":278
+/* "dependency_injector/containers.pyx":338
* self.wired_to_packages.clear()
*
* def init_resources(self): # <<<<<<<<<<<<<<
@@ -8254,21 +9746,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30init_resources(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_29init_resources[] = "Initialize all container resources.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_30init_resources = {"init_resources", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30init_resources, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_29init_resources};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_30init_resources(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32init_resources(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_31init_resources[] = "Initialize all container resources.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_32init_resources = {"init_resources", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32init_resources, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_31init_resources};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32init_resources(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("init_resources (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_29init_resources(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_31init_resources(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_29init_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_31init_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_futures = NULL;
PyObject *__pyx_v_provider = NULL;
PyObject *__pyx_v_resource = NULL;
@@ -8287,42 +9779,42 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("init_resources", 0);
- /* "dependency_injector/containers.pyx":280
+ /* "dependency_injector/containers.pyx":340
* def init_resources(self):
* """Initialize all container resources."""
* futures = [] # <<<<<<<<<<<<<<
*
* for provider in self.traverse(types=[providers.Resource]):
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_futures = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":282
+ /* "dependency_injector/containers.pyx":342
* futures = []
*
* for provider in self.traverse(types=[providers.Resource]): # <<<<<<<<<<<<<<
* resource = provider.init()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
__pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 282, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -8330,9 +9822,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 342, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -8340,17 +9832,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 342, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 342, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -8360,7 +9852,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 282, __pyx_L1_error)
+ else __PYX_ERR(0, 342, __pyx_L1_error)
}
break;
}
@@ -8369,14 +9861,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":283
+ /* "dependency_injector/containers.pyx":343
*
* for provider in self.traverse(types=[providers.Resource]):
* resource = provider.init() # <<<<<<<<<<<<<<
*
* if __is_future_or_coroutine(resource):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_init_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_init_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -8390,13 +9882,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_resource, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":285
+ /* "dependency_injector/containers.pyx":345
* resource = provider.init()
*
* if __is_future_or_coroutine(resource): # <<<<<<<<<<<<<<
@@ -8406,16 +9898,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_resource) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/containers.pyx":286
+ /* "dependency_injector/containers.pyx":346
*
* if __is_future_or_coroutine(resource):
* futures.append(resource) # <<<<<<<<<<<<<<
*
* if futures:
*/
- __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_futures, __pyx_v_resource); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 286, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_futures, __pyx_v_resource); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 346, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":285
+ /* "dependency_injector/containers.pyx":345
* resource = provider.init()
*
* if __is_future_or_coroutine(resource): # <<<<<<<<<<<<<<
@@ -8424,7 +9916,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":282
+ /* "dependency_injector/containers.pyx":342
* futures = []
*
* for provider in self.traverse(types=[providers.Resource]): # <<<<<<<<<<<<<<
@@ -8434,7 +9926,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":288
+ /* "dependency_injector/containers.pyx":348
* futures.append(resource)
*
* if futures: # <<<<<<<<<<<<<<
@@ -8444,7 +9936,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_7 = (PyList_GET_SIZE(__pyx_v_futures) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/containers.pyx":289
+ /* "dependency_injector/containers.pyx":349
*
* if futures:
* return asyncio.gather(*futures) # <<<<<<<<<<<<<<
@@ -8452,14 +9944,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* def shutdown_resources(self):
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 289, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 349, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 349, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_Tuple(__pyx_v_futures); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 289, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_v_futures); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 349, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 289, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 349, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -8467,7 +9959,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":288
+ /* "dependency_injector/containers.pyx":348
* futures.append(resource)
*
* if futures: # <<<<<<<<<<<<<<
@@ -8476,7 +9968,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":278
+ /* "dependency_injector/containers.pyx":338
* self.wired_to_packages.clear()
*
* def init_resources(self): # <<<<<<<<<<<<<<
@@ -8503,7 +9995,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":291
+/* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
@@ -8512,14 +10004,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32shutdown_resources(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_31shutdown_resources[] = "Shutdown all container resources.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_32shutdown_resources = {"shutdown_resources", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32shutdown_resources, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_31shutdown_resources};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_32shutdown_resources(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34shutdown_resources(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_33shutdown_resources[] = "Shutdown all container resources.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_34shutdown_resources = {"shutdown_resources", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34shutdown_resources, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_33shutdown_resources};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34shutdown_resources(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("shutdown_resources (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_31shutdown_resources(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_33shutdown_resources(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
@@ -8527,7 +10019,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":293
+/* "dependency_injector/containers.pyx":353
* def shutdown_resources(self):
* """Shutdown all container resources."""
* def _independent_resources(resources): # <<<<<<<<<<<<<<
@@ -8561,7 +10053,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 293, __pyx_L1_error)
+ __PYX_ERR(0, 353, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -8569,7 +10061,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_resources);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_resources);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_independent_resources, __pyx_n_s_DynamicContainer_shutdown_resour, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_independent_resources, __pyx_n_s_DynamicContainer_shutdown_resour, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 353, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -8611,9 +10103,9 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 293, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 353, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":294
+ /* "dependency_injector/containers.pyx":354
* """Shutdown all container resources."""
* def _independent_resources(resources):
* for resource in resources: # <<<<<<<<<<<<<<
@@ -8624,26 +10116,26 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = __pyx_cur_scope->__pyx_v_resources; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
- __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 354, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 354, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -8653,7 +10145,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 294, __pyx_L1_error)
+ else __PYX_ERR(0, 354, __pyx_L1_error)
}
break;
}
@@ -8664,7 +10156,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":295
+ /* "dependency_injector/containers.pyx":355
* def _independent_resources(resources):
* for resource in resources:
* for other_resource in resources: # <<<<<<<<<<<<<<
@@ -8675,26 +10167,26 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_4 = __pyx_cur_scope->__pyx_v_resources; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_resources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_resources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 355, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 355, __pyx_L1_error)
#else
- __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 355, __pyx_L1_error)
#else
- __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 295, __pyx_L1_error)
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
}
@@ -8704,7 +10196,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 295, __pyx_L1_error)
+ else __PYX_ERR(0, 355, __pyx_L1_error)
}
break;
}
@@ -8715,21 +10207,21 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_7);
__pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":296
+ /* "dependency_injector/containers.pyx":356
* for resource in resources:
* for other_resource in resources:
* if not other_resource.initialized: # <<<<<<<<<<<<<<
* continue
* if resource in other_resource.related:
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_other_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 296, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_other_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 296, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 356, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_9 = ((!__pyx_t_8) != 0);
if (__pyx_t_9) {
- /* "dependency_injector/containers.pyx":297
+ /* "dependency_injector/containers.pyx":357
* for other_resource in resources:
* if not other_resource.initialized:
* continue # <<<<<<<<<<<<<<
@@ -8738,7 +10230,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
goto __pyx_L6_continue;
- /* "dependency_injector/containers.pyx":296
+ /* "dependency_injector/containers.pyx":356
* for resource in resources:
* for other_resource in resources:
* if not other_resource.initialized: # <<<<<<<<<<<<<<
@@ -8747,21 +10239,21 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":298
+ /* "dependency_injector/containers.pyx":358
* if not other_resource.initialized:
* continue
* if resource in other_resource.related: # <<<<<<<<<<<<<<
* break
* else:
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_other_resource, __pyx_n_s_related); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 298, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_other_resource, __pyx_n_s_related); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_cur_scope->__pyx_v_resource, __pyx_t_7, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 298, __pyx_L1_error)
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_cur_scope->__pyx_v_resource, __pyx_t_7, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = (__pyx_t_9 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/containers.pyx":299
+ /* "dependency_injector/containers.pyx":359
* continue
* if resource in other_resource.related:
* break # <<<<<<<<<<<<<<
@@ -8770,7 +10262,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
goto __pyx_L7_break;
- /* "dependency_injector/containers.pyx":298
+ /* "dependency_injector/containers.pyx":358
* if not other_resource.initialized:
* continue
* if resource in other_resource.related: # <<<<<<<<<<<<<<
@@ -8779,7 +10271,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":295
+ /* "dependency_injector/containers.pyx":355
* def _independent_resources(resources):
* for resource in resources:
* for other_resource in resources: # <<<<<<<<<<<<<<
@@ -8790,7 +10282,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
/*else*/ {
- /* "dependency_injector/containers.pyx":301
+ /* "dependency_injector/containers.pyx":361
* break
* else:
* yield resource # <<<<<<<<<<<<<<
@@ -8824,10 +10316,10 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XGOTREF(__pyx_t_4);
__pyx_t_5 = __pyx_cur_scope->__pyx_t_4;
__pyx_t_6 = __pyx_cur_scope->__pyx_t_5;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 301, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 361, __pyx_L1_error)
}
- /* "dependency_injector/containers.pyx":295
+ /* "dependency_injector/containers.pyx":355
* def _independent_resources(resources):
* for resource in resources:
* for other_resource in resources: # <<<<<<<<<<<<<<
@@ -8837,7 +10329,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_L7_break:;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":294
+ /* "dependency_injector/containers.pyx":354
* """Shutdown all container resources."""
* def _independent_resources(resources):
* for resource in resources: # <<<<<<<<<<<<<<
@@ -8848,7 +10340,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/containers.pyx":293
+ /* "dependency_injector/containers.pyx":353
* def shutdown_resources(self):
* """Shutdown all container resources."""
* def _independent_resources(resources): # <<<<<<<<<<<<<<
@@ -8876,7 +10368,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_5generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":303
+/* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -8899,7 +10391,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":304
+/* "dependency_injector/containers.pyx":364
*
* async def _async_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -8919,7 +10411,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_4_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 304, __pyx_L1_error)
+ __PYX_ERR(0, 364, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -8927,7 +10419,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_2generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_2, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_2generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_2, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -8964,32 +10456,32 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 304, __pyx_L1_error)
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 304, __pyx_L1_error) }
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 364, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 364, __pyx_L1_error) }
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) {
__pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
- __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -8999,7 +10491,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 304, __pyx_L1_error)
+ else __PYX_ERR(0, 364, __pyx_L1_error)
}
break;
}
@@ -9009,9 +10501,9 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_resource, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_5) {
__Pyx_XDECREF(__pyx_r);
@@ -9048,7 +10540,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":303
+/* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -9058,6 +10550,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_3_async_ordered_shutdown(PyObject *__pyx_self, PyObject *__pyx_v_resources) {
struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown *__pyx_cur_scope;
+ PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_2generator4 = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
@@ -9068,7 +10561,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 303, __pyx_L1_error)
+ __PYX_ERR(0, 363, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -9079,7 +10572,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_resources);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_resources);
{
- __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_5generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_DynamicContainer_shutdown_resour_3, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 303, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_5generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_DynamicContainer_shutdown_resour_3, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 363, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -9089,6 +10582,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_L1_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.shutdown_resources._async_ordered_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_2generator4);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
@@ -9120,9 +10614,9 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 303, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 363, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":304
+ /* "dependency_injector/containers.pyx":364
*
* async def _async_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -9130,16 +10624,16 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
* if not resources_to_shutdown:
*/
while (1) {
- __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_23_async_ordered_shutdown_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (!__pyx_t_3) break;
- /* "dependency_injector/containers.pyx":305
+ /* "dependency_injector/containers.pyx":365
* async def _async_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources)) # <<<<<<<<<<<<<<
@@ -9148,11 +10642,11 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
__pyx_t_2 = __pyx_cur_scope->__pyx_v_resources;
__Pyx_INCREF(__pyx_t_2);
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources)) { __Pyx_RaiseClosureNameError("_independent_resources"); __PYX_ERR(0, 305, __pyx_L1_error) }
- __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources__independent_resources(__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources)) { __Pyx_RaiseClosureNameError("_independent_resources"); __PYX_ERR(0, 365, __pyx_L1_error) }
+ __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources__independent_resources(__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_resources_to_shutdown);
@@ -9160,7 +10654,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":306
+ /* "dependency_injector/containers.pyx":366
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9171,20 +10665,20 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_4 = ((!__pyx_t_3) != 0);
if (unlikely(__pyx_t_4)) {
- /* "dependency_injector/containers.pyx":307
+ /* "dependency_injector/containers.pyx":367
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order') # <<<<<<<<<<<<<<
* futures = []
* for resource in resources_to_shutdown:
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(0, 307, __pyx_L1_error)
+ __PYX_ERR(0, 367, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":306
+ /* "dependency_injector/containers.pyx":366
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9193,21 +10687,21 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":308
+ /* "dependency_injector/containers.pyx":368
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order')
* futures = [] # <<<<<<<<<<<<<<
* for resource in resources_to_shutdown:
* result = resource.shutdown()
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_futures);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_futures, ((PyObject*)__pyx_t_2));
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":309
+ /* "dependency_injector/containers.pyx":369
* raise RuntimeError('Unable to resolve resources shutdown order')
* futures = []
* for resource in resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9218,9 +10712,9 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
for (;;) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 309, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 369, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_resource);
@@ -9228,14 +10722,14 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":310
+ /* "dependency_injector/containers.pyx":370
* futures = []
* for resource in resources_to_shutdown:
* result = resource.shutdown() # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(result):
* futures.append(result)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 310, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -9249,7 +10743,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_result);
@@ -9257,7 +10751,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":311
+ /* "dependency_injector/containers.pyx":371
* for resource in resources_to_shutdown:
* result = resource.shutdown()
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -9267,16 +10761,16 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_4 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_cur_scope->__pyx_v_result) != 0);
if (__pyx_t_4) {
- /* "dependency_injector/containers.pyx":312
+ /* "dependency_injector/containers.pyx":372
* result = resource.shutdown()
* if __is_future_or_coroutine(result):
* futures.append(result) # <<<<<<<<<<<<<<
* await asyncio.gather(*futures)
*
*/
- __pyx_t_8 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_futures, __pyx_cur_scope->__pyx_v_result); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 312, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_futures, __pyx_cur_scope->__pyx_v_result); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 372, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":311
+ /* "dependency_injector/containers.pyx":371
* for resource in resources_to_shutdown:
* result = resource.shutdown()
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -9285,7 +10779,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":309
+ /* "dependency_injector/containers.pyx":369
* raise RuntimeError('Unable to resolve resources shutdown order')
* futures = []
* for resource in resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9295,21 +10789,21 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":313
+ /* "dependency_injector/containers.pyx":373
* if __is_future_or_coroutine(result):
* futures.append(result)
* await asyncio.gather(*futures) # <<<<<<<<<<<<<<
*
* def _sync_ordered_shutdown(resources):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_gather); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_gather); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_Tuple(__pyx_cur_scope->__pyx_v_futures); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_cur_scope->__pyx_v_futures); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 313, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -9324,18 +10818,18 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L10_resume_from_await:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 313, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 373, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 313, __pyx_L1_error)
+ else __PYX_ERR(0, 373, __pyx_L1_error)
}
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/containers.pyx":303
+ /* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -9363,7 +10857,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":315
+/* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -9386,7 +10880,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":316
+/* "dependency_injector/containers.pyx":376
*
* def _sync_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -9406,7 +10900,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_6_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 316, __pyx_L1_error)
+ __PYX_ERR(0, 376, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -9414,7 +10908,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_4, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_4, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -9451,32 +10945,32 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 316, __pyx_L1_error)
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 316, __pyx_L1_error) }
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 376, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 376, __pyx_L1_error) }
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) {
__pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
- __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 376, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 376, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 376, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -9486,7 +10980,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 316, __pyx_L1_error)
+ else __PYX_ERR(0, 376, __pyx_L1_error)
}
break;
}
@@ -9496,9 +10990,9 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_resource, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_initialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_5) {
__Pyx_XDECREF(__pyx_r);
@@ -9535,7 +11029,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":315
+/* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -9547,6 +11041,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown *__pyx_cur_scope;
PyObject *__pyx_v_resources_to_shutdown = NULL;
PyObject *__pyx_v_resource = NULL;
+ PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_2generator5 = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -9564,7 +11059,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 315, __pyx_L1_error)
+ __PYX_ERR(0, 375, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -9575,7 +11070,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_resources);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_resources);
- /* "dependency_injector/containers.pyx":316
+ /* "dependency_injector/containers.pyx":376
*
* def _sync_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources): # <<<<<<<<<<<<<<
@@ -9583,16 +11078,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* if not resources_to_shutdown:
*/
while (1) {
- __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (!__pyx_t_3) break;
- /* "dependency_injector/containers.pyx":317
+ /* "dependency_injector/containers.pyx":377
* def _sync_ordered_shutdown(resources):
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources)) # <<<<<<<<<<<<<<
@@ -9601,17 +11096,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
__pyx_t_2 = __pyx_cur_scope->__pyx_v_resources;
__Pyx_INCREF(__pyx_t_2);
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources)) { __Pyx_RaiseClosureNameError("_independent_resources"); __PYX_ERR(0, 317, __pyx_L1_error) }
- __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources__independent_resources(__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources)) { __Pyx_RaiseClosureNameError("_independent_resources"); __PYX_ERR(0, 377, __pyx_L1_error) }
+ __pyx_t_1 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources__independent_resources(__pyx_cur_scope->__pyx_outer_scope->__pyx_v__independent_resources, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error)
+ __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_resources_to_shutdown, ((PyObject*)__pyx_t_2));
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":318
+ /* "dependency_injector/containers.pyx":378
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9622,20 +11117,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_4 = ((!__pyx_t_3) != 0);
if (unlikely(__pyx_t_4)) {
- /* "dependency_injector/containers.pyx":319
+ /* "dependency_injector/containers.pyx":379
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order') # <<<<<<<<<<<<<<
* for resource in resources_to_shutdown:
* resource.shutdown()
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 319, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 379, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(0, 319, __pyx_L1_error)
+ __PYX_ERR(0, 379, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":318
+ /* "dependency_injector/containers.pyx":378
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9644,7 +11139,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":320
+ /* "dependency_injector/containers.pyx":380
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order')
* for resource in resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9655,22 +11150,22 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
for (;;) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 320, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 380, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
__Pyx_XDECREF_SET(__pyx_v_resource, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":321
+ /* "dependency_injector/containers.pyx":381
* raise RuntimeError('Unable to resolve resources shutdown order')
* for resource in resources_to_shutdown:
* resource.shutdown() # <<<<<<<<<<<<<<
*
* resources = list(self.traverse(types=[providers.Resource]))
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_resource, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 321, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_resource, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 381, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -9684,12 +11179,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":320
+ /* "dependency_injector/containers.pyx":380
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order')
* for resource in resources_to_shutdown: # <<<<<<<<<<<<<<
@@ -9700,7 +11195,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- /* "dependency_injector/containers.pyx":315
+ /* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
@@ -9721,6 +11216,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_resources_to_shutdown);
__Pyx_XDECREF(__pyx_v_resource);
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_22_sync_ordered_shutdown_2generator5);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
@@ -9728,7 +11224,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_10generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":324
+/* "dependency_injector/containers.pyx":384
*
* resources = list(self.traverse(types=[providers.Resource]))
* if any(resource.is_async_mode_enabled() for resource in resources): # <<<<<<<<<<<<<<
@@ -9748,7 +11244,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_7_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 324, __pyx_L1_error)
+ __PYX_ERR(0, 384, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -9756,7 +11252,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_10generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_5, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_10generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_DynamicContainer_shutdown_resour_5, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -9794,26 +11290,26 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 324, __pyx_L1_error)
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 324, __pyx_L1_error) }
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 384, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources)) { __Pyx_RaiseClosureNameError("resources"); __PYX_ERR(0, 384, __pyx_L1_error) }
if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(0, 324, __pyx_L1_error)
+ __PYX_ERR(0, 384, __pyx_L1_error)
}
__pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_resources; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
for (;;) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 384, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_resource);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_resource, __pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_resource, __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -9827,10 +11323,10 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_6) {
__Pyx_XDECREF(__pyx_r);
@@ -9869,7 +11365,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":291
+/* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
@@ -9877,10 +11373,13 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
* def _independent_resources(resources):
*/
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_31shutdown_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_33shutdown_resources(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources *__pyx_cur_scope;
+ PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_2generator2 = 0;
PyObject *__pyx_v__async_ordered_shutdown = 0;
+ PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_5generator3 = 0;
PyObject *__pyx_v__sync_ordered_shutdown = 0;
+ PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_10generator6 = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -9896,99 +11395,99 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 291, __pyx_L1_error)
+ __PYX_ERR(0, 351, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
- /* "dependency_injector/containers.pyx":293
+ /* "dependency_injector/containers.pyx":353
* def shutdown_resources(self):
* """Shutdown all container resources."""
* def _independent_resources(resources): # <<<<<<<<<<<<<<
* for resource in resources:
* for other_resource in resources:
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_1_independent_resources, 0, __pyx_n_s_DynamicContainer_shutdown_resour, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_1_independent_resources, 0, __pyx_n_s_DynamicContainer_shutdown_resour, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v__independent_resources = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":303
+ /* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_4_async_ordered_shutdown, 0, __pyx_n_s_DynamicContainer_shutdown_resour_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_4_async_ordered_shutdown, 0, __pyx_n_s_DynamicContainer_shutdown_resour_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v__async_ordered_shutdown = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":315
+ /* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_7_sync_ordered_shutdown, 0, __pyx_n_s_DynamicContainer_shutdown_resour_6, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_7_sync_ordered_shutdown, 0, __pyx_n_s_DynamicContainer_shutdown_resour_6, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v__sync_ordered_shutdown = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":323
+ /* "dependency_injector/containers.pyx":383
* resource.shutdown()
*
* resources = list(self.traverse(types=[providers.Resource])) # <<<<<<<<<<<<<<
* if any(resource.is_async_mode_enabled() for resource in resources):
* return _async_ordered_shutdown(resources)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
__pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 323, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L1_error)
+ __pyx_t_2 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_v_resources = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":324
+ /* "dependency_injector/containers.pyx":384
*
* resources = list(self.traverse(types=[providers.Resource]))
* if any(resource.is_async_mode_enabled() for resource in resources): # <<<<<<<<<<<<<<
* return _async_ordered_shutdown(resources)
* else:
*/
- __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_8genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_8genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 324, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":325
+ /* "dependency_injector/containers.pyx":385
* resources = list(self.traverse(types=[providers.Resource]))
* if any(resource.is_async_mode_enabled() for resource in resources):
* return _async_ordered_shutdown(resources) # <<<<<<<<<<<<<<
@@ -9998,14 +11497,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __pyx_cur_scope->__pyx_v_resources;
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_3_async_ordered_shutdown(__pyx_v__async_ordered_shutdown, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)
+ __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_3_async_ordered_shutdown(__pyx_v__async_ordered_shutdown, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 385, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":324
+ /* "dependency_injector/containers.pyx":384
*
* resources = list(self.traverse(types=[providers.Resource]))
* if any(resource.is_async_mode_enabled() for resource in resources): # <<<<<<<<<<<<<<
@@ -10014,18 +11513,18 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":327
+ /* "dependency_injector/containers.pyx":387
* return _async_ordered_shutdown(resources)
* else:
* return _sync_ordered_shutdown(resources) # <<<<<<<<<<<<<<
*
- * def apply_container_providers_overridings(self):
+ * def load_config(self):
*/
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __pyx_cur_scope->__pyx_v_resources;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_6_sync_ordered_shutdown(__pyx_v__sync_ordered_shutdown, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L1_error)
+ __pyx_t_3 = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_6_sync_ordered_shutdown(__pyx_v__sync_ordered_shutdown, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_3;
@@ -10033,7 +11532,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
goto __pyx_L0;
}
- /* "dependency_injector/containers.pyx":291
+ /* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
@@ -10050,38 +11549,210 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.shutdown_resources", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_2generator2);
__Pyx_XDECREF(__pyx_v__async_ordered_shutdown);
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_5generator3);
__Pyx_XDECREF(__pyx_v__sync_ordered_shutdown);
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_10containers_16DynamicContainer_18shutdown_resources_10generator6);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":329
+/* "dependency_injector/containers.pyx":389
* return _sync_ordered_shutdown(resources)
*
+ * def load_config(self): # <<<<<<<<<<<<<<
+ * """Load configuration."""
+ * config: providers.Configuration
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36load_config(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_35load_config[] = "Load configuration.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_36load_config = {"load_config", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36load_config, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_35load_config};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36load_config(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("load_config (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_35load_config(__pyx_self, ((PyObject *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_35load_config(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_v_config = 0;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ Py_ssize_t __pyx_t_5;
+ PyObject *(*__pyx_t_6)(PyObject *);
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("load_config", 0);
+
+ /* "dependency_injector/containers.pyx":392
+ * """Load configuration."""
+ * config: providers.Configuration
+ * for config in self.traverse(types=[providers.Configuration]): # <<<<<<<<<<<<<<
+ * config.load()
+ *
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_4);
+ PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+ __pyx_t_4 = 0;
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+ __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
+ __pyx_t_6 = NULL;
+ } else {
+ __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 392, __pyx_L1_error)
+ }
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_6)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error)
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ #endif
+ } else {
+ if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error)
+ #else
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ #endif
+ }
+ } else {
+ __pyx_t_3 = __pyx_t_6(__pyx_t_2);
+ if (unlikely(!__pyx_t_3)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(0, 392, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_3);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_config, __pyx_t_3);
+ __pyx_t_3 = 0;
+
+ /* "dependency_injector/containers.pyx":393
+ * config: providers.Configuration
+ * for config in self.traverse(types=[providers.Configuration]):
+ * config.load() # <<<<<<<<<<<<<<
+ *
+ * def apply_container_providers_overridings(self):
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+ /* "dependency_injector/containers.pyx":392
+ * """Load configuration."""
+ * config: providers.Configuration
+ * for config in self.traverse(types=[providers.Configuration]): # <<<<<<<<<<<<<<
+ * config.load()
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "dependency_injector/containers.pyx":389
+ * return _sync_ordered_shutdown(resources)
+ *
+ * def load_config(self): # <<<<<<<<<<<<<<
+ * """Load configuration."""
+ * config: providers.Configuration
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.load_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_config);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":395
+ * config.load()
+ *
* def apply_container_providers_overridings(self): # <<<<<<<<<<<<<<
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]):
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34apply_container_providers_overridings(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_33apply_container_providers_overridings[] = "Apply container providers' overridings.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_34apply_container_providers_overridings = {"apply_container_providers_overridings", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34apply_container_providers_overridings, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_33apply_container_providers_overridings};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_34apply_container_providers_overridings(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38apply_container_providers_overridings(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_37apply_container_providers_overridings[] = "Apply container providers' overridings.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_38apply_container_providers_overridings = {"apply_container_providers_overridings", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38apply_container_providers_overridings, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_37apply_container_providers_overridings};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38apply_container_providers_overridings(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("apply_container_providers_overridings (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_33apply_container_providers_overridings(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_37apply_container_providers_overridings(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_33apply_container_providers_overridings(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_37apply_container_providers_overridings(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_provider = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -10096,30 +11767,30 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("apply_container_providers_overridings", 0);
- /* "dependency_injector/containers.pyx":331
+ /* "dependency_injector/containers.pyx":397
* def apply_container_providers_overridings(self):
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]): # <<<<<<<<<<<<<<
* provider.apply_overridings()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Container); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Container); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
__pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -10127,9 +11798,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 397, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -10137,17 +11808,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 397, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 397, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -10157,7 +11828,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 331, __pyx_L1_error)
+ else __PYX_ERR(0, 397, __pyx_L1_error)
}
break;
}
@@ -10166,14 +11837,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":332
+ /* "dependency_injector/containers.pyx":398
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]):
* provider.apply_overridings() # <<<<<<<<<<<<<<
*
* def reset_singletons(self):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_apply_overridings); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_apply_overridings); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -10187,12 +11858,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":331
+ /* "dependency_injector/containers.pyx":397
* def apply_container_providers_overridings(self):
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]): # <<<<<<<<<<<<<<
@@ -10202,8 +11873,8 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":329
- * return _sync_ordered_shutdown(resources)
+ /* "dependency_injector/containers.pyx":395
+ * config.load()
*
* def apply_container_providers_overridings(self): # <<<<<<<<<<<<<<
* """Apply container providers' overridings."""
@@ -10227,7 +11898,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":334
+/* "dependency_injector/containers.pyx":400
* provider.apply_overridings()
*
* def reset_singletons(self): # <<<<<<<<<<<<<<
@@ -10236,21 +11907,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36reset_singletons(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_35reset_singletons[] = "Reset container singletons.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_36reset_singletons = {"reset_singletons", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36reset_singletons, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_35reset_singletons};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_36reset_singletons(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40reset_singletons(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_39reset_singletons[] = "Reset container singletons.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_40reset_singletons = {"reset_singletons", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40reset_singletons, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_39reset_singletons};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40reset_singletons(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reset_singletons (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_35reset_singletons(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_39reset_singletons(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_35reset_singletons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_39reset_singletons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_provider = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -10265,30 +11936,30 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_singletons", 0);
- /* "dependency_injector/containers.pyx":336
+ /* "dependency_injector/containers.pyx":402
* def reset_singletons(self):
* """Reset container singletons."""
* for provider in self.traverse(types=[providers.BaseSingleton]): # <<<<<<<<<<<<<<
* provider.reset()
* return SingletonResetContext(self)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BaseSingleton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BaseSingleton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
__pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -10296,9 +11967,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 402, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -10306,17 +11977,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 402, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 402, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -10326,7 +11997,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 336, __pyx_L1_error)
+ else __PYX_ERR(0, 402, __pyx_L1_error)
}
break;
}
@@ -10335,14 +12006,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":337
+ /* "dependency_injector/containers.pyx":403
* """Reset container singletons."""
* for provider in self.traverse(types=[providers.BaseSingleton]):
* provider.reset() # <<<<<<<<<<<<<<
* return SingletonResetContext(self)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -10356,12 +12027,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":336
+ /* "dependency_injector/containers.pyx":402
* def reset_singletons(self):
* """Reset container singletons."""
* for provider in self.traverse(types=[providers.BaseSingleton]): # <<<<<<<<<<<<<<
@@ -10371,7 +12042,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":338
+ /* "dependency_injector/containers.pyx":404
* for provider in self.traverse(types=[providers.BaseSingleton]):
* provider.reset()
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -10379,7 +12050,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* def check_dependencies(self):
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SingletonResetContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SingletonResetContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -10393,14 +12064,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":334
+ /* "dependency_injector/containers.pyx":400
* provider.apply_overridings()
*
* def reset_singletons(self): # <<<<<<<<<<<<<<
@@ -10423,7 +12094,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":340
+/* "dependency_injector/containers.pyx":406
* return SingletonResetContext(self)
*
* def check_dependencies(self): # <<<<<<<<<<<<<<
@@ -10432,21 +12103,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38check_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_37check_dependencies[] = "Check if container dependencies are defined.\n\n If any dependency is undefined, raises an error.\n ";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_38check_dependencies = {"check_dependencies", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38check_dependencies, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_37check_dependencies};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_38check_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42check_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_41check_dependencies[] = "Check if container dependencies are defined.\n\n If any dependency is undefined, raises an error.\n ";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_42check_dependencies = {"check_dependencies", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42check_dependencies, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_41check_dependencies};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42check_dependencies(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_dependencies (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_37check_dependencies(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_41check_dependencies(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_37check_dependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_41check_dependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_undefined = NULL;
PyObject *__pyx_v_container_name = NULL;
PyObject *__pyx_v_undefined_names = NULL;
@@ -10469,40 +12140,40 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("check_dependencies", 0);
- /* "dependency_injector/containers.pyx":345
+ /* "dependency_injector/containers.pyx":411
* If any dependency is undefined, raises an error.
* """
* undefined = [ # <<<<<<<<<<<<<<
* dependency
* for dependency in self.traverse(types=[providers.Dependency])
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":347
+ /* "dependency_injector/containers.pyx":413
* undefined = [
* dependency
* for dependency in self.traverse(types=[providers.Dependency]) # <<<<<<<<<<<<<<
* if not dependency.is_defined
* ]
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_providers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_providers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_5);
PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
__pyx_t_5 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_types, __pyx_t_4) < 0) __PYX_ERR(0, 347, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_types, __pyx_t_4) < 0) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -10510,9 +12181,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 413, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
@@ -10520,17 +12191,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -10540,7 +12211,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 347, __pyx_L1_error)
+ else __PYX_ERR(0, 413, __pyx_L1_error)
}
break;
}
@@ -10549,30 +12220,30 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_dependency, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":348
+ /* "dependency_injector/containers.pyx":414
* dependency
* for dependency in self.traverse(types=[providers.Dependency])
* if not dependency.is_defined # <<<<<<<<<<<<<<
* ]
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_is_defined); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 348, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_is_defined); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 348, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 414, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = ((!__pyx_t_8) != 0);
if (__pyx_t_9) {
- /* "dependency_injector/containers.pyx":346
+ /* "dependency_injector/containers.pyx":412
* """
* undefined = [
* dependency # <<<<<<<<<<<<<<
* for dependency in self.traverse(types=[providers.Dependency])
* if not dependency.is_defined
*/
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_dependency))) __PYX_ERR(0, 345, __pyx_L1_error)
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_dependency))) __PYX_ERR(0, 411, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":348
+ /* "dependency_injector/containers.pyx":414
* dependency
* for dependency in self.traverse(types=[providers.Dependency])
* if not dependency.is_defined # <<<<<<<<<<<<<<
@@ -10581,7 +12252,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":347
+ /* "dependency_injector/containers.pyx":413
* undefined = [
* dependency
* for dependency in self.traverse(types=[providers.Dependency]) # <<<<<<<<<<<<<<
@@ -10593,7 +12264,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_undefined = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":351
+ /* "dependency_injector/containers.pyx":417
* ]
*
* if not undefined: # <<<<<<<<<<<<<<
@@ -10604,7 +12275,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_8 = ((!__pyx_t_9) != 0);
if (__pyx_t_8) {
- /* "dependency_injector/containers.pyx":352
+ /* "dependency_injector/containers.pyx":418
*
* if not undefined:
* return # <<<<<<<<<<<<<<
@@ -10615,7 +12286,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":351
+ /* "dependency_injector/containers.pyx":417
* ]
*
* if not undefined: # <<<<<<<<<<<<<<
@@ -10624,26 +12295,26 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":354
+ /* "dependency_injector/containers.pyx":420
* return
*
* container_name = self.parent_name if self.parent_name else self.__class__.__name__ # <<<<<<<<<<<<<<
* undefined_names = [
* f'"{dependency.parent_name if dependency.parent_name else dependency}"'
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 420, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_8) {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
@@ -10652,17 +12323,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_container_name = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":355
+ /* "dependency_injector/containers.pyx":421
*
* container_name = self.parent_name if self.parent_name else self.__class__.__name__
* undefined_names = [ # <<<<<<<<<<<<<<
* f'"{dependency.parent_name if dependency.parent_name else dependency}"'
* for dependency in undefined
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":357
+ /* "dependency_injector/containers.pyx":423
* undefined_names = [
* f'"{dependency.parent_name if dependency.parent_name else dependency}"'
* for dependency in undefined # <<<<<<<<<<<<<<
@@ -10673,35 +12344,35 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
for (;;) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 357, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 423, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 357, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XDECREF_SET(__pyx_v_dependency, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":356
+ /* "dependency_injector/containers.pyx":422
* container_name = self.parent_name if self.parent_name else self.__class__.__name__
* undefined_names = [
* f'"{dependency.parent_name if dependency.parent_name else dependency}"' # <<<<<<<<<<<<<<
* for dependency in undefined
* ]
*/
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_10 = 0;
__pyx_t_11 = 127;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__12);
__pyx_t_10 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u__11);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__12);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u__12);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_8) {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_dependency, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = __pyx_t_5;
__pyx_t_5 = 0;
@@ -10709,7 +12380,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_v_dependency);
__pyx_t_2 = __pyx_v_dependency;
}
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_11;
@@ -10717,17 +12388,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
__pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__12);
__pyx_t_10 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__11);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__12);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__12);
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 355, __pyx_L1_error)
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 421, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":357
+ /* "dependency_injector/containers.pyx":423
* undefined_names = [
* f'"{dependency.parent_name if dependency.parent_name else dependency}"'
* for dependency in undefined # <<<<<<<<<<<<<<
@@ -10739,27 +12410,27 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_undefined_names = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":359
+ /* "dependency_injector/containers.pyx":425
* for dependency in undefined
* ]
* raise errors.Error( # <<<<<<<<<<<<<<
* f'Container "{container_name}" has undefined dependencies: '
* f'{", ".join(undefined_names)}',
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 359, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 359, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":360
+ /* "dependency_injector/containers.pyx":426
* ]
* raise errors.Error(
* f'Container "{container_name}" has undefined dependencies: ' # <<<<<<<<<<<<<<
* f'{", ".join(undefined_names)}',
* )
*/
- __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = 0;
__pyx_t_11 = 127;
@@ -10767,7 +12438,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_6 += 11;
__Pyx_GIVEREF(__pyx_kp_u_Container_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Container_2);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_container_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 360, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_container_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 426, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_11;
__pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
@@ -10779,16 +12450,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GIVEREF(__pyx_kp_u_has_undefined_dependencies);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_has_undefined_dependencies);
- /* "dependency_injector/containers.pyx":361
+ /* "dependency_injector/containers.pyx":427
* raise errors.Error(
* f'Container "{container_name}" has undefined dependencies: '
* f'{", ".join(undefined_names)}', # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_3 = __Pyx_PyString_Join(__pyx_kp_s__12, __pyx_v_undefined_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 361, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyString_Join(__pyx_kp_s__13, __pyx_v_undefined_names); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_11;
@@ -10797,14 +12468,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":360
+ /* "dependency_injector/containers.pyx":426
* ]
* raise errors.Error(
* f'Container "{container_name}" has undefined dependencies: ' # <<<<<<<<<<<<<<
* f'{", ".join(undefined_names)}',
* )
*/
- __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_6, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_6, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -10820,14 +12491,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 359, __pyx_L1_error)
+ __PYX_ERR(0, 425, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":340
+ /* "dependency_injector/containers.pyx":406
* return SingletonResetContext(self)
*
* def check_dependencies(self): # <<<<<<<<<<<<<<
@@ -10854,7 +12525,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":364
+/* "dependency_injector/containers.pyx":430
* )
*
* def from_schema(self, schema): # <<<<<<<<<<<<<<
@@ -10863,10 +12534,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40from_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_39from_schema[] = "Build container providers from schema.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_40from_schema = {"from_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40from_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_39from_schema};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_40from_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_43from_schema[] = "Build container providers from schema.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_44from_schema = {"from_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_43from_schema};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_schema = 0;
int __pyx_lineno = 0;
@@ -10876,7 +12547,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_schema (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_schema,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_schema,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -10892,17 +12563,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_schema)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("from_schema", 1, 2, 2, 1); __PYX_ERR(0, 364, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_schema", 1, 2, 2, 1); __PYX_ERR(0, 430, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_schema") < 0)) __PYX_ERR(0, 364, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_schema") < 0)) __PYX_ERR(0, 430, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -10915,20 +12586,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_schema", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 364, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_schema", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 430, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.from_schema", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_39from_schema(__pyx_self, __pyx_v_self, __pyx_v_schema);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_schema(__pyx_self, __pyx_v_self, __pyx_v_schema);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_39from_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_schema) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_schema) {
PyObject *__pyx_v_build_schema = NULL;
PyObject *__pyx_v_name = NULL;
PyObject *__pyx_v_provider = NULL;
@@ -10948,29 +12619,29 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_schema", 0);
- /* "dependency_injector/containers.pyx":366
+ /* "dependency_injector/containers.pyx":432
* def from_schema(self, schema):
* """Build container providers from schema."""
* from .schema import build_schema # <<<<<<<<<<<<<<
* for name, provider in build_schema(schema).items():
* self.set_provider(name, provider)
*/
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_build_schema);
__Pyx_GIVEREF(__pyx_n_s_build_schema);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_build_schema);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_schema, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 366, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_schema, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_build_schema); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_build_schema); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_1);
__pyx_v_build_schema = __pyx_t_1;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":367
+ /* "dependency_injector/containers.pyx":433
* """Build container providers from schema."""
* from .schema import build_schema
* for name, provider in build_schema(schema).items(): # <<<<<<<<<<<<<<
@@ -10990,10 +12661,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_schema) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_schema);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -11008,16 +12679,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 433, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -11025,17 +12696,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 433, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 433, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -11045,7 +12716,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 367, __pyx_L1_error)
+ else __PYX_ERR(0, 433, __pyx_L1_error)
}
break;
}
@@ -11057,7 +12728,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 367, __pyx_L1_error)
+ __PYX_ERR(0, 433, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -11070,15 +12741,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_4);
#else
- __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -11086,7 +12757,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_1);
index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 367, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 433, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -11094,7 +12765,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 367, __pyx_L1_error)
+ __PYX_ERR(0, 433, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
@@ -11102,14 +12773,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":368
+ /* "dependency_injector/containers.pyx":434
* from .schema import build_schema
* for name, provider in build_schema(schema).items():
* self.set_provider(name, provider) # <<<<<<<<<<<<<<
*
* def from_yaml_schema(self, filepath, loader=None):
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = NULL;
__pyx_t_9 = 0;
@@ -11126,7 +12797,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_name, __pyx_v_provider};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -11134,13 +12805,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_name, __pyx_v_provider};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __pyx_t_1 = NULL;
@@ -11151,14 +12822,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_v_provider);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":367
+ /* "dependency_injector/containers.pyx":433
* """Build container providers from schema."""
* from .schema import build_schema
* for name, provider in build_schema(schema).items(): # <<<<<<<<<<<<<<
@@ -11168,7 +12839,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":364
+ /* "dependency_injector/containers.pyx":430
* )
*
* def from_schema(self, schema): # <<<<<<<<<<<<<<
@@ -11196,7 +12867,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":370
+/* "dependency_injector/containers.pyx":436
* self.set_provider(name, provider)
*
* def from_yaml_schema(self, filepath, loader=None): # <<<<<<<<<<<<<<
@@ -11205,10 +12876,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42from_yaml_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_41from_yaml_schema[] = "Build container providers from YAML schema.\n\n You can specify type of loader as a second argument. By default, method\n uses ``SafeLoader``.\n ";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_42from_yaml_schema = {"from_yaml_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42from_yaml_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_41from_yaml_schema};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_42from_yaml_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46from_yaml_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_45from_yaml_schema[] = "Build container providers from YAML schema.\n\n You can specify type of loader as a second argument. By default, method\n uses ``SafeLoader``.\n ";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_46from_yaml_schema = {"from_yaml_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46from_yaml_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_45from_yaml_schema};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46from_yaml_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_filepath = 0;
PyObject *__pyx_v_loader = 0;
@@ -11219,7 +12890,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_yaml_schema (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_filepath,&__pyx_n_s_loader,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_filepath,&__pyx_n_s_loader,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
@@ -11238,13 +12909,13 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filepath)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("from_yaml_schema", 0, 2, 3, 1); __PYX_ERR(0, 370, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_yaml_schema", 0, 2, 3, 1); __PYX_ERR(0, 436, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
@@ -11254,7 +12925,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml_schema") < 0)) __PYX_ERR(0, 370, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml_schema") < 0)) __PYX_ERR(0, 436, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -11272,20 +12943,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_yaml_schema", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 370, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_yaml_schema", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 436, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.from_yaml_schema", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_41from_yaml_schema(__pyx_self, __pyx_v_self, __pyx_v_filepath, __pyx_v_loader);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_45from_yaml_schema(__pyx_self, __pyx_v_self, __pyx_v_filepath, __pyx_v_loader);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_41from_yaml_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_loader) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_45from_yaml_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_loader) {
PyObject *__pyx_v_file = NULL;
PyObject *__pyx_v_schema = NULL;
PyObject *__pyx_r = NULL;
@@ -11308,30 +12979,30 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannySetupContext("from_yaml_schema", 0);
__Pyx_INCREF(__pyx_v_loader);
- /* "dependency_injector/containers.pyx":376
+ /* "dependency_injector/containers.pyx":442
* uses ``SafeLoader``.
* """
* if yaml is None: # <<<<<<<<<<<<<<
* raise errors.Error(
* 'Unable to load yaml schema - PyYAML is not installed. '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/containers.pyx":377
+ /* "dependency_injector/containers.pyx":443
* """
* if yaml is None:
* raise errors.Error( # <<<<<<<<<<<<<<
* 'Unable to load yaml schema - PyYAML is not installed. '
* 'Install PyYAML or install Dependency Injector with yaml extras: '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 377, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -11346,14 +13017,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_Unable_to_load_yaml_schema_PyYAM) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_Unable_to_load_yaml_schema_PyYAM);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 377, __pyx_L1_error)
+ __PYX_ERR(0, 443, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":376
+ /* "dependency_injector/containers.pyx":442
* uses ``SafeLoader``.
* """
* if yaml is None: # <<<<<<<<<<<<<<
@@ -11362,7 +13033,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":383
+ /* "dependency_injector/containers.pyx":449
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -11373,22 +13044,22 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/containers.pyx":384
+ /* "dependency_injector/containers.pyx":450
*
* if loader is None:
* loader = yaml.SafeLoader # <<<<<<<<<<<<<<
*
* with open(filepath) as file:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SafeLoader); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SafeLoader); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_loader, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":383
+ /* "dependency_injector/containers.pyx":449
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -11397,7 +13068,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":386
+ /* "dependency_injector/containers.pyx":452
* loader = yaml.SafeLoader
*
* with open(filepath) as file: # <<<<<<<<<<<<<<
@@ -11405,11 +13076,11 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*
*/
/*with:*/ {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 386, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 386, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 386, __pyx_L5_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -11423,7 +13094,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L5_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __pyx_t_1;
@@ -11441,16 +13112,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_file = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":387
+ /* "dependency_injector/containers.pyx":453
*
* with open(filepath) as file:
* schema = yaml.load(file, loader) # <<<<<<<<<<<<<<
*
* self.from_schema(schema)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_yaml); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_yaml); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -11468,7 +13139,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_file, __pyx_v_loader};
- __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else
@@ -11476,13 +13147,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_file, __pyx_v_loader};
- __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -11493,7 +13164,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_v_loader);
__Pyx_GIVEREF(__pyx_v_loader);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_11, __pyx_v_loader);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __pyx_L9_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -11501,7 +13172,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_schema = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":386
+ /* "dependency_injector/containers.pyx":452
* loader = yaml.SafeLoader
*
* with open(filepath) as file: # <<<<<<<<<<<<<<
@@ -11520,20 +13191,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.from_yaml_schema", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 386, __pyx_L11_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 452, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 386, __pyx_L11_except_error)
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 452, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 386, __pyx_L11_except_error)
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 452, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_12);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (__pyx_t_2 < 0) __PYX_ERR(0, 386, __pyx_L11_except_error)
+ if (__pyx_t_2 < 0) __PYX_ERR(0, 452, __pyx_L11_except_error)
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_4);
@@ -11541,7 +13212,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XGIVEREF(__pyx_t_7);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_7);
__pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0;
- __PYX_ERR(0, 386, __pyx_L11_except_error)
+ __PYX_ERR(0, 452, __pyx_L11_except_error)
}
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -11565,9 +13236,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_6) {
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__13, NULL);
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 386, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -11582,16 +13253,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_L18:;
}
- /* "dependency_injector/containers.pyx":389
+ /* "dependency_injector/containers.pyx":455
* schema = yaml.load(file, loader)
*
* self.from_schema(schema) # <<<<<<<<<<<<<<
*
* def from_json_schema(self, filepath):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_from_schema); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_from_schema); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(!__pyx_v_schema)) { __Pyx_RaiseUnboundLocalError("schema"); __PYX_ERR(0, 389, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_schema)) { __Pyx_RaiseUnboundLocalError("schema"); __PYX_ERR(0, 455, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
@@ -11604,12 +13275,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_schema) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_schema);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 389, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 455, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":370
+ /* "dependency_injector/containers.pyx":436
* self.set_provider(name, provider)
*
* def from_yaml_schema(self, filepath, loader=None): # <<<<<<<<<<<<<<
@@ -11636,7 +13307,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":391
+/* "dependency_injector/containers.pyx":457
* self.from_schema(schema)
*
* def from_json_schema(self, filepath): # <<<<<<<<<<<<<<
@@ -11645,10 +13316,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_json_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_43from_json_schema[] = "Build container providers from JSON schema.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_44from_json_schema = {"from_json_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_json_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_43from_json_schema};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_44from_json_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48from_json_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_47from_json_schema[] = "Build container providers from JSON schema.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_48from_json_schema = {"from_json_schema", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48from_json_schema, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_47from_json_schema};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48from_json_schema(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_filepath = 0;
int __pyx_lineno = 0;
@@ -11658,7 +13329,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_json_schema (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_filepath,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_filepath,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -11674,17 +13345,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filepath)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("from_json_schema", 1, 2, 2, 1); __PYX_ERR(0, 391, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_json_schema", 1, 2, 2, 1); __PYX_ERR(0, 457, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_json_schema") < 0)) __PYX_ERR(0, 391, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_json_schema") < 0)) __PYX_ERR(0, 457, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -11697,20 +13368,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_json_schema", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 391, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_json_schema", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 457, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.from_json_schema", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_json_schema(__pyx_self, __pyx_v_self, __pyx_v_filepath);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_47from_json_schema(__pyx_self, __pyx_v_self, __pyx_v_filepath);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_43from_json_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_47from_json_schema(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filepath) {
PyObject *__pyx_v_file = NULL;
PyObject *__pyx_v_schema = NULL;
PyObject *__pyx_r = NULL;
@@ -11731,7 +13402,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_json_schema", 0);
- /* "dependency_injector/containers.pyx":393
+ /* "dependency_injector/containers.pyx":459
* def from_json_schema(self, filepath):
* """Build container providers from JSON schema."""
* with open(filepath) as file: # <<<<<<<<<<<<<<
@@ -11739,11 +13410,11 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* self.from_schema(schema)
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -11757,7 +13428,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __pyx_t_3;
@@ -11775,16 +13446,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_v_file = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":394
+ /* "dependency_injector/containers.pyx":460
* """Build container providers from JSON schema."""
* with open(filepath) as file:
* schema = json.load(file) # <<<<<<<<<<<<<<
* self.from_schema(schema)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_json); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L7_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_json); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L7_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -11799,13 +13470,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_file) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_file);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 394, __pyx_L7_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_schema = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":393
+ /* "dependency_injector/containers.pyx":459
* def from_json_schema(self, filepath):
* """Build container providers from JSON schema."""
* with open(filepath) as file: # <<<<<<<<<<<<<<
@@ -11824,20 +13495,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.from_json_schema", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 393, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 459, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L9_except_error)
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 459, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__pyx_t_10 < 0) __PYX_ERR(0, 393, __pyx_L9_except_error)
+ if (__pyx_t_10 < 0) __PYX_ERR(0, 459, __pyx_L9_except_error)
__pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_4);
@@ -11845,7 +13516,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XGIVEREF(__pyx_t_1);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_1);
__pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0;
- __PYX_ERR(0, 393, __pyx_L9_except_error)
+ __PYX_ERR(0, 459, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -11869,9 +13540,9 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_2) {
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 393, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -11886,16 +13557,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_L16:;
}
- /* "dependency_injector/containers.pyx":395
+ /* "dependency_injector/containers.pyx":461
* with open(filepath) as file:
* schema = json.load(file)
* self.from_schema(schema) # <<<<<<<<<<<<<<
*
* def resolve_provider_name(self, provider):
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_from_schema); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 395, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_from_schema); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (unlikely(!__pyx_v_schema)) { __Pyx_RaiseUnboundLocalError("schema"); __PYX_ERR(0, 395, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_schema)) { __Pyx_RaiseUnboundLocalError("schema"); __PYX_ERR(0, 461, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -11908,12 +13579,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_schema) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_schema);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":391
+ /* "dependency_injector/containers.pyx":457
* self.from_schema(schema)
*
* def from_json_schema(self, filepath): # <<<<<<<<<<<<<<
@@ -11939,7 +13610,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":397
+/* "dependency_injector/containers.pyx":463
* self.from_schema(schema)
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -11948,10 +13619,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46resolve_provider_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_45resolve_provider_name[] = "Try to resolve provider name.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_46resolve_provider_name = {"resolve_provider_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46resolve_provider_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_45resolve_provider_name};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_46resolve_provider_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50resolve_provider_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_49resolve_provider_name[] = "Try to resolve provider name.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_50resolve_provider_name = {"resolve_provider_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50resolve_provider_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_49resolve_provider_name};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50resolve_provider_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_provider = 0;
int __pyx_lineno = 0;
@@ -11961,7 +13632,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("resolve_provider_name (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_provider,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_provider,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -11977,17 +13648,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provider)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, 1); __PYX_ERR(0, 397, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, 1); __PYX_ERR(0, 463, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "resolve_provider_name") < 0)) __PYX_ERR(0, 397, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "resolve_provider_name") < 0)) __PYX_ERR(0, 463, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -12000,20 +13671,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 397, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 463, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.resolve_provider_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_45resolve_provider_name(__pyx_self, __pyx_v_self, __pyx_v_provider);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_49resolve_provider_name(__pyx_self, __pyx_v_self, __pyx_v_provider);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_45resolve_provider_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_provider) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_49resolve_provider_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_provider) {
PyObject *__pyx_v_provider_name = NULL;
PyObject *__pyx_v_container_provider = NULL;
PyObject *__pyx_r = NULL;
@@ -12035,16 +13706,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("resolve_provider_name", 0);
- /* "dependency_injector/containers.pyx":399
+ /* "dependency_injector/containers.pyx":465
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
* if container_provider is provider:
* return provider_name
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -12059,16 +13730,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 465, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -12076,17 +13747,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 465, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 465, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -12096,7 +13767,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 399, __pyx_L1_error)
+ else __PYX_ERR(0, 465, __pyx_L1_error)
}
break;
}
@@ -12108,7 +13779,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 399, __pyx_L1_error)
+ __PYX_ERR(0, 465, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -12121,15 +13792,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -12137,7 +13808,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 465, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -12145,7 +13816,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 399, __pyx_L1_error)
+ __PYX_ERR(0, 465, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_provider_name, __pyx_t_2);
@@ -12153,7 +13824,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_XDECREF_SET(__pyx_v_container_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":400
+ /* "dependency_injector/containers.pyx":466
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -12164,7 +13835,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":401
+ /* "dependency_injector/containers.pyx":467
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider:
* return provider_name # <<<<<<<<<<<<<<
@@ -12177,7 +13848,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":400
+ /* "dependency_injector/containers.pyx":466
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -12186,7 +13857,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":399
+ /* "dependency_injector/containers.pyx":465
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -12196,19 +13867,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
}
/*else*/ {
- /* "dependency_injector/containers.pyx":403
+ /* "dependency_injector/containers.pyx":469
* return provider_name
* else:
* raise errors.Error(f'Can not resolve name for provider "{provider}"') # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 403, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 403, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_11 = 0;
__pyx_t_12 = 127;
@@ -12216,18 +13887,18 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_11 += 35;
__Pyx_GIVEREF(__pyx_kp_u_Can_not_resolve_name_for_provide);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_Can_not_resolve_name_for_provide);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 403, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_12;
__pyx_t_11 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7);
__pyx_t_7 = 0;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__12);
__pyx_t_11 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__11);
- __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 403, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__12);
+ PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__12);
+ __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -12243,15 +13914,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 403, __pyx_L1_error)
+ __PYX_ERR(0, 469, __pyx_L1_error)
}
- /* "dependency_injector/containers.pyx":399
+ /* "dependency_injector/containers.pyx":465
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -12260,7 +13931,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":397
+ /* "dependency_injector/containers.pyx":463
* self.from_schema(schema)
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -12285,7 +13956,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":406
+/* "dependency_injector/containers.pyx":472
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -12294,21 +13965,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48parent_name(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_47parent_name[] = "Return parent name.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_48parent_name = {"parent_name", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48parent_name, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_47parent_name};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_48parent_name(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_52parent_name(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_51parent_name[] = "Return parent name.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_52parent_name = {"parent_name", (PyCFunction)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_52parent_name, METH_O, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_51parent_name};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_52parent_name(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("parent_name (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_47parent_name(__pyx_self, ((PyObject *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_51parent_name(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_47parent_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_51parent_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -12319,20 +13990,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parent_name", 0);
- /* "dependency_injector/containers.pyx":408
+ /* "dependency_injector/containers.pyx":474
* def parent_name(self):
* """Return parent name."""
* if self.parent: # <<<<<<<<<<<<<<
* return self.parent.parent_name
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 408, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 408, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/containers.pyx":409
+ /* "dependency_injector/containers.pyx":475
* """Return parent name."""
* if self.parent:
* return self.parent.parent_name # <<<<<<<<<<<<<<
@@ -12340,16 +14011,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* if self.declarative_parent:
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":408
+ /* "dependency_injector/containers.pyx":474
* def parent_name(self):
* """Return parent name."""
* if self.parent: # <<<<<<<<<<<<<<
@@ -12358,20 +14029,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":411
+ /* "dependency_injector/containers.pyx":477
* return self.parent.parent_name
*
* if self.declarative_parent: # <<<<<<<<<<<<<<
* return self.declarative_parent.__name__
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 411, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 477, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/containers.pyx":412
+ /* "dependency_injector/containers.pyx":478
*
* if self.declarative_parent:
* return self.declarative_parent.__name__ # <<<<<<<<<<<<<<
@@ -12379,16 +14050,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
* return None
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 412, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declarative_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":411
+ /* "dependency_injector/containers.pyx":477
* return self.parent.parent_name
*
* if self.declarative_parent: # <<<<<<<<<<<<<<
@@ -12397,7 +14068,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
}
- /* "dependency_injector/containers.pyx":414
+ /* "dependency_injector/containers.pyx":480
* return self.declarative_parent.__name__
*
* return None # <<<<<<<<<<<<<<
@@ -12408,7 +14079,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":406
+ /* "dependency_injector/containers.pyx":472
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -12428,7 +14099,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":416
+/* "dependency_injector/containers.pyx":482
* return None
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -12437,10 +14108,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50assign_parent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_49assign_parent[] = "Assign parent.";
-static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_50assign_parent = {"assign_parent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50assign_parent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_49assign_parent};
-static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_50assign_parent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_54assign_parent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_10containers_16DynamicContainer_53assign_parent[] = "Assign parent.";
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_16DynamicContainer_54assign_parent = {"assign_parent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_16DynamicContainer_54assign_parent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_10containers_16DynamicContainer_53assign_parent};
+static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_54assign_parent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_parent = 0;
int __pyx_lineno = 0;
@@ -12450,7 +14121,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("assign_parent (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_parent,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_parent,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -12466,17 +14137,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parent)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("assign_parent", 1, 2, 2, 1); __PYX_ERR(0, 416, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("assign_parent", 1, 2, 2, 1); __PYX_ERR(0, 482, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "assign_parent") < 0)) __PYX_ERR(0, 416, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "assign_parent") < 0)) __PYX_ERR(0, 482, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -12489,20 +14160,20 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_16DynamicContainer_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("assign_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 416, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("assign_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 482, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DynamicContainer.assign_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_49assign_parent(__pyx_self, __pyx_v_self, __pyx_v_parent);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16DynamicContainer_53assign_parent(__pyx_self, __pyx_v_self, __pyx_v_parent);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_49assign_parent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parent) {
+static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_53assign_parent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parent) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_lineno = 0;
@@ -12510,16 +14181,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("assign_parent", 0);
- /* "dependency_injector/containers.pyx":418
+ /* "dependency_injector/containers.pyx":484
* def assign_parent(self, parent):
* """Assign parent."""
* self.parent = parent # <<<<<<<<<<<<<<
*
*
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_parent, __pyx_v_parent) < 0) __PYX_ERR(0, 418, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_parent, __pyx_v_parent) < 0) __PYX_ERR(0, 484, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":416
+ /* "dependency_injector/containers.pyx":482
* return None
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -12539,7 +14210,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_16DynamicContainer_
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":424
+/* "dependency_injector/containers.pyx":490
* """Declarative inversion of control container meta class."""
*
* def __new__(type mcs, str class_name, tuple bases, dict attributes): # <<<<<<<<<<<<<<
@@ -12589,23 +14260,23 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_class_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 1); __PYX_ERR(0, 424, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 1); __PYX_ERR(0, 490, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bases)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 2); __PYX_ERR(0, 424, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 2); __PYX_ERR(0, 490, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attributes)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 3); __PYX_ERR(0, 424, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, 3); __PYX_ERR(0, 490, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__new__") < 0)) __PYX_ERR(0, 424, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__new__") < 0)) __PYX_ERR(0, 490, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
@@ -12622,16 +14293,16 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 424, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__new__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 490, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainerMetaClass.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mcs), (&PyType_Type), 1, "mcs", 1))) __PYX_ERR(0, 424, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_class_name), (&PyString_Type), 1, "class_name", 1))) __PYX_ERR(0, 424, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bases), (&PyTuple_Type), 1, "bases", 1))) __PYX_ERR(0, 424, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attributes), (&PyDict_Type), 1, "attributes", 1))) __PYX_ERR(0, 424, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mcs), (&PyType_Type), 1, "mcs", 1))) __PYX_ERR(0, 490, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_class_name), (&PyString_Type), 1, "class_name", 1))) __PYX_ERR(0, 490, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bases), (&PyTuple_Type), 1, "bases", 1))) __PYX_ERR(0, 490, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attributes), (&PyDict_Type), 1, "attributes", 1))) __PYX_ERR(0, 490, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_10containers_29DeclarativeContainerMetaClass___new__(__pyx_self, __pyx_v_mcs, __pyx_v_class_name, __pyx_v_bases, __pyx_v_attributes);
/* function exit code */
@@ -12649,6 +14320,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject *__pyx_v_cls_providers = NULL;
PyObject *__pyx_v_inherited_providers = NULL;
PyObject *__pyx_v_all_providers = NULL;
+ PyObject *__pyx_v_wiring_config = NULL;
PyTypeObject *__pyx_v_cls = NULL;
PyObject *__pyx_v_provider = NULL;
PyObject *__pyx_8genexpr4__pyx_v_name = NULL;
@@ -12680,14 +14352,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__new__", 0);
- /* "dependency_injector/containers.pyx":426
+ /* "dependency_injector/containers.pyx":492
* def __new__(type mcs, str class_name, tuple bases, dict attributes):
* """Declarative container class factory."""
* self = mcs.__fetch_self(attributes) # <<<<<<<<<<<<<<
* if self is None:
* self = providers.Self()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_mcs), __pyx_n_s_DeclarativeContainerMetaClass); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_mcs), __pyx_n_s_DeclarativeContainerMetaClass); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -12701,13 +14373,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_attributes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_attributes);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":427
+ /* "dependency_injector/containers.pyx":493
* """Declarative container class factory."""
* self = mcs.__fetch_self(attributes)
* if self is None: # <<<<<<<<<<<<<<
@@ -12718,16 +14390,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":428
+ /* "dependency_injector/containers.pyx":494
* self = mcs.__fetch_self(attributes)
* if self is None:
* self = providers.Self() # <<<<<<<<<<<<<<
*
* containers = {
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 428, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 428, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -12742,13 +14414,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_self, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":427
+ /* "dependency_injector/containers.pyx":493
* """Declarative container class factory."""
* self = mcs.__fetch_self(attributes)
* if self is None: # <<<<<<<<<<<<<<
@@ -12757,7 +14429,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":430
+ /* "dependency_injector/containers.pyx":496
* self = providers.Self()
*
* containers = { # <<<<<<<<<<<<<<
@@ -12765,19 +14437,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
* for name, container in six.iteritems(attributes)
*/
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L6_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":432
+ /* "dependency_injector/containers.pyx":498
* containers = {
* name: container
* for name, container in six.iteritems(attributes) # <<<<<<<<<<<<<<
* if is_container(container)
* }
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -12792,16 +14464,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_v_attributes) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_attributes);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L6_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
__pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 498, __pyx_L6_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -12809,17 +14481,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 498, __pyx_L6_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 498, __pyx_L6_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -12829,7 +14501,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 432, __pyx_L6_error)
+ else __PYX_ERR(0, 498, __pyx_L6_error)
}
break;
}
@@ -12841,7 +14513,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 432, __pyx_L6_error)
+ __PYX_ERR(0, 498, __pyx_L6_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -12854,15 +14526,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_9);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 432, __pyx_L6_error)
+ __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 498, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -12870,7 +14542,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 432, __pyx_L6_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 498, __pyx_L6_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
goto __pyx_L10_unpacking_done;
@@ -12878,7 +14550,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 432, __pyx_L6_error)
+ __PYX_ERR(0, 498, __pyx_L6_error)
__pyx_L10_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_name, __pyx_t_2);
@@ -12886,7 +14558,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_container, __pyx_t_9);
__pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":433
+ /* "dependency_injector/containers.pyx":499
* name: container
* for name, container in six.iteritems(attributes)
* if is_container(container) # <<<<<<<<<<<<<<
@@ -12896,16 +14568,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_5 = (__pyx_f_19dependency_injector_10containers_is_container(__pyx_8genexpr4__pyx_v_container, 0) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":431
+ /* "dependency_injector/containers.pyx":497
*
* containers = {
* name: container # <<<<<<<<<<<<<<
* for name, container in six.iteritems(attributes)
* if is_container(container)
*/
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr4__pyx_v_name, (PyObject*)__pyx_8genexpr4__pyx_v_container))) __PYX_ERR(0, 431, __pyx_L6_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr4__pyx_v_name, (PyObject*)__pyx_8genexpr4__pyx_v_container))) __PYX_ERR(0, 497, __pyx_L6_error)
- /* "dependency_injector/containers.pyx":433
+ /* "dependency_injector/containers.pyx":499
* name: container
* for name, container in six.iteritems(attributes)
* if is_container(container) # <<<<<<<<<<<<<<
@@ -12914,7 +14586,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":432
+ /* "dependency_injector/containers.pyx":498
* containers = {
* name: container
* for name, container in six.iteritems(attributes) # <<<<<<<<<<<<<<
@@ -12935,7 +14607,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_v_containers = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":436
+ /* "dependency_injector/containers.pyx":502
* }
*
* cls_providers = { # <<<<<<<<<<<<<<
@@ -12943,19 +14615,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
* for name, provider in six.iteritems(attributes)
*/
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L15_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":438
+ /* "dependency_injector/containers.pyx":504
* cls_providers = {
* name: provider
* for name, provider in six.iteritems(attributes) # <<<<<<<<<<<<<<
* if isinstance(provider, providers.Provider) and not isinstance(provider, providers.Self)
* }
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_six); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_six); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -12970,16 +14642,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_3, __pyx_v_attributes) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_attributes);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L15_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_9 = __pyx_t_6; __Pyx_INCREF(__pyx_t_9); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_7 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 504, __pyx_L15_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
@@ -12987,17 +14659,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_9))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 504, __pyx_L15_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 504, __pyx_L15_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
@@ -13007,7 +14679,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 438, __pyx_L15_error)
+ else __PYX_ERR(0, 504, __pyx_L15_error)
}
break;
}
@@ -13019,7 +14691,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 438, __pyx_L15_error)
+ __PYX_ERR(0, 504, __pyx_L15_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -13032,15 +14704,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_10 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 438, __pyx_L15_error)
+ __pyx_t_10 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 504, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -13048,7 +14720,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_2 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_2)) goto __pyx_L18_unpacking_failed;
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 438, __pyx_L15_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 504, __pyx_L15_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
goto __pyx_L19_unpacking_done;
@@ -13056,7 +14728,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 438, __pyx_L15_error)
+ __PYX_ERR(0, 504, __pyx_L15_error)
__pyx_L19_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_name, __pyx_t_3);
@@ -13064,19 +14736,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_provider, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":439
+ /* "dependency_injector/containers.pyx":505
* name: provider
* for name, provider in six.iteritems(attributes)
* if isinstance(provider, providers.Provider) and not isinstance(provider, providers.Self) # <<<<<<<<<<<<<<
* }
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 439, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 439, __pyx_L15_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_4 = PyObject_IsInstance(__pyx_8genexpr5__pyx_v_provider, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 439, __pyx_L15_error)
+ __pyx_t_4 = PyObject_IsInstance(__pyx_8genexpr5__pyx_v_provider, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_12 = (__pyx_t_4 != 0);
if (__pyx_t_12) {
@@ -13084,28 +14756,28 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_5 = __pyx_t_12;
goto __pyx_L21_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 439, __pyx_L15_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Self); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 439, __pyx_L15_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Self); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_12 = PyObject_IsInstance(__pyx_8genexpr5__pyx_v_provider, __pyx_t_6); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 439, __pyx_L15_error)
+ __pyx_t_12 = PyObject_IsInstance(__pyx_8genexpr5__pyx_v_provider, __pyx_t_6); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 505, __pyx_L15_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_4 = ((!(__pyx_t_12 != 0)) != 0);
__pyx_t_5 = __pyx_t_4;
__pyx_L21_bool_binop_done:;
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":437
+ /* "dependency_injector/containers.pyx":503
*
* cls_providers = {
* name: provider # <<<<<<<<<<<<<<
* for name, provider in six.iteritems(attributes)
* if isinstance(provider, providers.Provider) and not isinstance(provider, providers.Self)
*/
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr5__pyx_v_name, (PyObject*)__pyx_8genexpr5__pyx_v_provider))) __PYX_ERR(0, 437, __pyx_L15_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr5__pyx_v_name, (PyObject*)__pyx_8genexpr5__pyx_v_provider))) __PYX_ERR(0, 503, __pyx_L15_error)
- /* "dependency_injector/containers.pyx":439
+ /* "dependency_injector/containers.pyx":505
* name: provider
* for name, provider in six.iteritems(attributes)
* if isinstance(provider, providers.Provider) and not isinstance(provider, providers.Self) # <<<<<<<<<<<<<<
@@ -13114,7 +14786,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":438
+ /* "dependency_injector/containers.pyx":504
* cls_providers = {
* name: provider
* for name, provider in six.iteritems(attributes) # <<<<<<<<<<<<<<
@@ -13135,7 +14807,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_v_cls_providers = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":442
+ /* "dependency_injector/containers.pyx":508
* }
*
* inherited_providers = { # <<<<<<<<<<<<<<
@@ -13143,10 +14815,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
* for base in bases
*/
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L26_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":444
+ /* "dependency_injector/containers.pyx":510
* inherited_providers = {
* name: provider
* for base in bases # <<<<<<<<<<<<<<
@@ -13155,21 +14827,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
if (unlikely(__pyx_v_bases == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(0, 444, __pyx_L26_error)
+ __PYX_ERR(0, 510, __pyx_L26_error)
}
__pyx_t_9 = __pyx_v_bases; __Pyx_INCREF(__pyx_t_9); __pyx_t_7 = 0;
for (;;) {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 444, __pyx_L26_error)
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 510, __pyx_L26_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 444, __pyx_L26_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_9, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 510, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_base, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":445
+ /* "dependency_injector/containers.pyx":511
* name: provider
* for base in bases
* if is_container(base) and base is not DynamicContainer # <<<<<<<<<<<<<<
@@ -13182,7 +14854,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_5 = __pyx_t_4;
goto __pyx_L30_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 445, __pyx_L26_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 511, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = (__pyx_8genexpr6__pyx_v_base != __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -13191,19 +14863,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_L30_bool_binop_done:;
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":446
+ /* "dependency_injector/containers.pyx":512
* for base in bases
* if is_container(base) and base is not DynamicContainer
* for name, provider in six.iteritems(base.providers) # <<<<<<<<<<<<<<
* }
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr6__pyx_v_base, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr6__pyx_v_base, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -13218,16 +14890,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 446, __pyx_L26_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_3 = __pyx_t_6; __Pyx_INCREF(__pyx_t_3); __pyx_t_13 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_13 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_13 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 512, __pyx_L26_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
@@ -13235,17 +14907,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_13); __Pyx_INCREF(__pyx_t_6); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_13); __Pyx_INCREF(__pyx_t_6); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 512, __pyx_L26_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_13); __Pyx_INCREF(__pyx_t_6); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_13); __Pyx_INCREF(__pyx_t_6); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 512, __pyx_L26_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
@@ -13255,7 +14927,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 446, __pyx_L26_error)
+ else __PYX_ERR(0, 512, __pyx_L26_error)
}
break;
}
@@ -13267,7 +14939,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 446, __pyx_L26_error)
+ __PYX_ERR(0, 512, __pyx_L26_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -13280,15 +14952,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_10);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_10);
#endif
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_14 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 446, __pyx_L26_error)
+ __pyx_t_14 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L26_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_14)->tp_iternext;
@@ -13296,7 +14968,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_10 = __pyx_t_11(__pyx_t_14); if (unlikely(!__pyx_t_10)) goto __pyx_L34_unpacking_failed;
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_14), 2) < 0) __PYX_ERR(0, 446, __pyx_L26_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_14), 2) < 0) __PYX_ERR(0, 512, __pyx_L26_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
goto __pyx_L35_unpacking_done;
@@ -13304,7 +14976,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 446, __pyx_L26_error)
+ __PYX_ERR(0, 512, __pyx_L26_error)
__pyx_L35_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_name, __pyx_t_2);
@@ -13312,16 +14984,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_provider, __pyx_t_10);
__pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":443
+ /* "dependency_injector/containers.pyx":509
*
* inherited_providers = {
* name: provider # <<<<<<<<<<<<<<
* for base in bases
* if is_container(base) and base is not DynamicContainer
*/
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr6__pyx_v_name, (PyObject*)__pyx_8genexpr6__pyx_v_provider))) __PYX_ERR(0, 443, __pyx_L26_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr6__pyx_v_name, (PyObject*)__pyx_8genexpr6__pyx_v_provider))) __PYX_ERR(0, 509, __pyx_L26_error)
- /* "dependency_injector/containers.pyx":446
+ /* "dependency_injector/containers.pyx":512
* for base in bases
* if is_container(base) and base is not DynamicContainer
* for name, provider in six.iteritems(base.providers) # <<<<<<<<<<<<<<
@@ -13331,7 +15003,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":445
+ /* "dependency_injector/containers.pyx":511
* name: provider
* for base in bases
* if is_container(base) and base is not DynamicContainer # <<<<<<<<<<<<<<
@@ -13340,7 +15012,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":444
+ /* "dependency_injector/containers.pyx":510
* inherited_providers = {
* name: provider
* for base in bases # <<<<<<<<<<<<<<
@@ -13363,54 +15035,206 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_v_inherited_providers = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":449
+ /* "dependency_injector/containers.pyx":515
* }
*
* all_providers = {} # <<<<<<<<<<<<<<
* all_providers.update(inherited_providers)
* all_providers.update(cls_providers)
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_all_providers = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":450
+ /* "dependency_injector/containers.pyx":516
*
* all_providers = {}
* all_providers.update(inherited_providers) # <<<<<<<<<<<<<<
* all_providers.update(cls_providers)
*
*/
- __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_all_providers, __pyx_v_inherited_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_all_providers, __pyx_v_inherited_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":451
+ /* "dependency_injector/containers.pyx":517
* all_providers = {}
* all_providers.update(inherited_providers)
* all_providers.update(cls_providers) # <<<<<<<<<<<<<<
*
- * attributes['containers'] = containers
+ * wiring_config = attributes.get("wiring_config")
*/
- __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_all_providers, __pyx_v_cls_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_all_providers, __pyx_v_cls_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":453
+ /* "dependency_injector/containers.pyx":519
* all_providers.update(cls_providers)
*
+ * wiring_config = attributes.get("wiring_config") # <<<<<<<<<<<<<<
+ * if wiring_config is None:
+ * wiring_config = WiringConfiguration()
+ */
+ if (unlikely(__pyx_v_attributes == Py_None)) {
+ PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
+ __PYX_ERR(0, 519, __pyx_L1_error)
+ }
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_attributes, __pyx_n_s_wiring_config, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_v_wiring_config = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":520
+ *
+ * wiring_config = attributes.get("wiring_config")
+ * if wiring_config is None: # <<<<<<<<<<<<<<
+ * wiring_config = WiringConfiguration()
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration):
+ */
+ __pyx_t_5 = (__pyx_v_wiring_config == Py_None);
+ __pyx_t_12 = (__pyx_t_5 != 0);
+ if (__pyx_t_12) {
+
+ /* "dependency_injector/containers.pyx":521
+ * wiring_config = attributes.get("wiring_config")
+ * if wiring_config is None:
+ * wiring_config = WiringConfiguration() # <<<<<<<<<<<<<<
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration):
+ * raise errors.Error(
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_WiringConfiguration); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 521, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF_SET(__pyx_v_wiring_config, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":520
+ *
+ * wiring_config = attributes.get("wiring_config")
+ * if wiring_config is None: # <<<<<<<<<<<<<<
+ * wiring_config = WiringConfiguration()
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration):
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":522
+ * if wiring_config is None:
+ * wiring_config = WiringConfiguration()
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration): # <<<<<<<<<<<<<<
+ * raise errors.Error(
+ * "Wiring configuration should be an instance of WiringConfiguration, "
+ */
+ __pyx_t_5 = (__pyx_v_wiring_config != Py_None);
+ __pyx_t_4 = (__pyx_t_5 != 0);
+ if (__pyx_t_4) {
+ } else {
+ __pyx_t_12 = __pyx_t_4;
+ goto __pyx_L39_bool_binop_done;
+ }
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_WiringConfiguration); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 522, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = PyObject_IsInstance(__pyx_v_wiring_config, __pyx_t_1); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 522, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0);
+ __pyx_t_12 = __pyx_t_5;
+ __pyx_L39_bool_binop_done:;
+ if (unlikely(__pyx_t_12)) {
+
+ /* "dependency_injector/containers.pyx":523
+ * wiring_config = WiringConfiguration()
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration):
+ * raise errors.Error( # <<<<<<<<<<<<<<
+ * "Wiring configuration should be an instance of WiringConfiguration, "
+ * "instead got {0}".format(wiring_config)
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_errors); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 523, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "dependency_injector/containers.pyx":525
+ * raise errors.Error(
+ * "Wiring configuration should be an instance of WiringConfiguration, "
+ * "instead got {0}".format(wiring_config) # <<<<<<<<<<<<<<
+ * )
+ *
+ */
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Wiring_configuration_should_be_a, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_10 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+ __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_10)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+ __Pyx_INCREF(__pyx_t_10);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_6, function);
+ }
+ }
+ __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_v_wiring_config) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_wiring_config);
+ __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 525, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 523, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_Raise(__pyx_t_1, 0, 0, 0);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __PYX_ERR(0, 523, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":522
+ * if wiring_config is None:
+ * wiring_config = WiringConfiguration()
+ * if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration): # <<<<<<<<<<<<<<
+ * raise errors.Error(
+ * "Wiring configuration should be an instance of WiringConfiguration, "
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":528
+ * )
+ *
* attributes['containers'] = containers # <<<<<<<<<<<<<<
* attributes['inherited_providers'] = inherited_providers
* attributes['cls_providers'] = cls_providers
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 453, __pyx_L1_error)
+ __PYX_ERR(0, 528, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_containers, __pyx_v_containers) < 0)) __PYX_ERR(0, 453, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_containers, __pyx_v_containers) < 0)) __PYX_ERR(0, 528, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":454
+ /* "dependency_injector/containers.pyx":529
*
* attributes['containers'] = containers
* attributes['inherited_providers'] = inherited_providers # <<<<<<<<<<<<<<
@@ -13419,78 +15243,91 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 454, __pyx_L1_error)
+ __PYX_ERR(0, 529, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_inherited_providers, __pyx_v_inherited_providers) < 0)) __PYX_ERR(0, 454, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_inherited_providers, __pyx_v_inherited_providers) < 0)) __PYX_ERR(0, 529, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":455
+ /* "dependency_injector/containers.pyx":530
* attributes['containers'] = containers
* attributes['inherited_providers'] = inherited_providers
* attributes['cls_providers'] = cls_providers # <<<<<<<<<<<<<<
* attributes['providers'] = all_providers
+ * attributes['wiring_config'] = wiring_config
+ */
+ if (unlikely(__pyx_v_attributes == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(0, 530, __pyx_L1_error)
+ }
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_cls_providers, __pyx_v_cls_providers) < 0)) __PYX_ERR(0, 530, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":531
+ * attributes['inherited_providers'] = inherited_providers
+ * attributes['cls_providers'] = cls_providers
+ * attributes['providers'] = all_providers # <<<<<<<<<<<<<<
+ * attributes['wiring_config'] = wiring_config
*
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 455, __pyx_L1_error)
+ __PYX_ERR(0, 531, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_cls_providers, __pyx_v_cls_providers) < 0)) __PYX_ERR(0, 455, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_providers, __pyx_v_all_providers) < 0)) __PYX_ERR(0, 531, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":456
- * attributes['inherited_providers'] = inherited_providers
+ /* "dependency_injector/containers.pyx":532
* attributes['cls_providers'] = cls_providers
- * attributes['providers'] = all_providers # <<<<<<<<<<<<<<
+ * attributes['providers'] = all_providers
+ * attributes['wiring_config'] = wiring_config # <<<<<<<<<<<<<<
*
* cls = type.__new__(mcs, class_name, bases, attributes)
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 456, __pyx_L1_error)
+ __PYX_ERR(0, 532, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_providers, __pyx_v_all_providers) < 0)) __PYX_ERR(0, 456, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_n_s_wiring_config, __pyx_v_wiring_config) < 0)) __PYX_ERR(0, 532, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":458
- * attributes['providers'] = all_providers
+ /* "dependency_injector/containers.pyx":534
+ * attributes['wiring_config'] = wiring_config
*
* cls = type.__new__(mcs, class_name, bases, attributes) # <<<<<<<<<<<<<<
*
* self.set_container(cls)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyType_Type)), __pyx_n_s_new); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 458, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_3 = NULL;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyType_Type)), __pyx_n_s_new); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_9 = NULL;
__pyx_t_15 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
- __Pyx_INCREF(__pyx_t_3);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_9)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_9, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_15 = 1;
}
}
#if CYTHON_FAST_PYCALL
- if (PyFunction_Check(__pyx_t_9)) {
- PyObject *__pyx_temp[5] = {__pyx_t_3, ((PyObject *)__pyx_v_mcs), __pyx_v_class_name, __pyx_v_bases, __pyx_v_attributes};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (PyFunction_Check(__pyx_t_3)) {
+ PyObject *__pyx_temp[5] = {__pyx_t_9, ((PyObject *)__pyx_v_mcs), __pyx_v_class_name, __pyx_v_bases, __pyx_v_attributes};
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
- if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
- PyObject *__pyx_temp[5] = {__pyx_t_3, ((PyObject *)__pyx_v_mcs), __pyx_v_class_name, __pyx_v_bases, __pyx_v_attributes};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+ PyObject *__pyx_temp[5] = {__pyx_t_9, ((PyObject *)__pyx_v_mcs), __pyx_v_class_name, __pyx_v_bases, __pyx_v_attributes};
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(4+__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 458, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(4+__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (__pyx_t_3) {
- __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
+ if (__pyx_t_9) {
+ __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_9); __pyx_t_9 = NULL;
}
__Pyx_INCREF(((PyObject *)__pyx_v_mcs));
__Pyx_GIVEREF(((PyObject *)__pyx_v_mcs));
@@ -13504,25 +15341,25 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_v_attributes);
__Pyx_GIVEREF(__pyx_v_attributes);
PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_15, __pyx_v_attributes);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __pyx_t_1;
- __Pyx_INCREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __pyx_t_1;
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_cls = ((PyTypeObject*)__pyx_t_9);
- __pyx_t_9 = 0;
+ __pyx_v_cls = ((PyTypeObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":460
+ /* "dependency_injector/containers.pyx":536
* cls = type.__new__(mcs, class_name, bases, attributes)
*
* self.set_container(cls) # <<<<<<<<<<<<<<
* cls.__self__ = self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -13534,107 +15371,107 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_9 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_cls));
+ __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_cls));
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 460, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":461
+ /* "dependency_injector/containers.pyx":537
*
* self.set_container(cls)
* cls.__self__ = self # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(cls.providers):
*/
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_self, __pyx_v_self) < 0) __PYX_ERR(0, 461, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_self_2, __pyx_v_self) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":463
+ /* "dependency_injector/containers.pyx":539
* cls.__self__ = self
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
* _check_provider_type(cls, provider)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = NULL;
+ __pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_3)) {
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
- __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 463, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_6 = __pyx_t_9; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+ __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 539, __pyx_L1_error)
}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_9); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 539, __pyx_L1_error)
#else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 463, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_9); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 539, __pyx_L1_error)
#else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 463, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
#endif
}
} else {
- __pyx_t_9 = __pyx_t_8(__pyx_t_6);
- if (unlikely(!__pyx_t_9)) {
+ __pyx_t_3 = __pyx_t_8(__pyx_t_6);
+ if (unlikely(!__pyx_t_3)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 463, __pyx_L1_error)
+ else __PYX_ERR(0, 539, __pyx_L1_error)
}
break;
}
- __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_GOTREF(__pyx_t_3);
}
- __Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_9);
- __pyx_t_9 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
+ __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":464
+ /* "dependency_injector/containers.pyx":540
*
* for provider in six.itervalues(cls.providers):
* _check_provider_type(cls, provider) # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(cls.cls_providers):
*/
- __pyx_t_9 = __pyx_f_19dependency_injector_10containers__check_provider_type(((PyObject *)__pyx_v_cls), __pyx_v_provider, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 464, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_3 = __pyx_f_19dependency_injector_10containers__check_provider_type(((PyObject *)__pyx_v_cls), __pyx_v_provider, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":463
+ /* "dependency_injector/containers.pyx":539
* cls.__self__ = self
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
@@ -13644,43 +15481,43 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":466
+ /* "dependency_injector/containers.pyx":542
* _check_provider_type(cls, provider)
*
* for provider in six.itervalues(cls.cls_providers): # <<<<<<<<<<<<<<
* if isinstance(provider, providers.CHILD_PROVIDERS):
* provider.assign_parent(cls)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_six); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 466, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_six); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 466, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_3 = NULL;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 542, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
@@ -13688,17 +15525,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 542, __pyx_L1_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 542, __pyx_L1_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 466, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
@@ -13708,7 +15545,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 466, __pyx_L1_error)
+ else __PYX_ERR(0, 542, __pyx_L1_error)
}
break;
}
@@ -13717,50 +15554,50 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":467
+ /* "dependency_injector/containers.pyx":543
*
* for provider in six.itervalues(cls.cls_providers):
* if isinstance(provider, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
* provider.assign_parent(cls)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 467, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 543, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 467, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_5 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_9); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 467, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_12 = (__pyx_t_5 != 0);
- if (__pyx_t_12) {
+ __pyx_t_12 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_3); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 543, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_5 = (__pyx_t_12 != 0);
+ if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":468
+ /* "dependency_injector/containers.pyx":544
* for provider in six.itervalues(cls.cls_providers):
* if isinstance(provider, providers.CHILD_PROVIDERS):
* provider.assign_parent(cls) # <<<<<<<<<<<<<<
*
* return cls
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 468, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = NULL;
+ __pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
- if (likely(__pyx_t_3)) {
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
+ if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
- __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
- __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_cls));
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 468, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_cls));
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":467
+ /* "dependency_injector/containers.pyx":543
*
* for provider in six.itervalues(cls.cls_providers):
* if isinstance(provider, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
@@ -13769,7 +15606,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":466
+ /* "dependency_injector/containers.pyx":542
* _check_provider_type(cls, provider)
*
* for provider in six.itervalues(cls.cls_providers): # <<<<<<<<<<<<<<
@@ -13779,7 +15616,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":470
+ /* "dependency_injector/containers.pyx":546
* provider.assign_parent(cls)
*
* return cls # <<<<<<<<<<<<<<
@@ -13791,7 +15628,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_r = ((PyObject *)__pyx_v_cls);
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":424
+ /* "dependency_injector/containers.pyx":490
* """Declarative inversion of control container meta class."""
*
* def __new__(type mcs, str class_name, tuple bases, dict attributes): # <<<<<<<<<<<<<<
@@ -13816,6 +15653,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF(__pyx_v_cls_providers);
__Pyx_XDECREF(__pyx_v_inherited_providers);
__Pyx_XDECREF(__pyx_v_all_providers);
+ __Pyx_XDECREF(__pyx_v_wiring_config);
__Pyx_XDECREF(__pyx_v_cls);
__Pyx_XDECREF(__pyx_v_provider);
__Pyx_XDECREF(__pyx_8genexpr4__pyx_v_name);
@@ -13830,7 +15668,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":472
+/* "dependency_injector/containers.pyx":548
* return cls
*
* def __setattr__(cls, name, value): # <<<<<<<<<<<<<<
@@ -13877,17 +15715,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 1); __PYX_ERR(0, 472, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 1); __PYX_ERR(0, 548, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 2); __PYX_ERR(0, 472, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, 2); __PYX_ERR(0, 548, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__setattr__") < 0)) __PYX_ERR(0, 472, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__setattr__") < 0)) __PYX_ERR(0, 548, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -13902,7 +15740,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 472, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__setattr__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 548, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainerMetaClass.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -13931,19 +15769,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__setattr__", 0);
- /* "dependency_injector/containers.pyx":486
+ /* "dependency_injector/containers.pyx":562
* :rtype: None
* """
* if isinstance(value, providers.Provider) and name != '__self__': # <<<<<<<<<<<<<<
* _check_provider_type(cls, value)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 562, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 562, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 486, __pyx_L1_error)
+ __pyx_t_4 = PyObject_IsInstance(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 562, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
@@ -13951,47 +15789,47 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_self, Py_NE)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 486, __pyx_L1_error)
+ __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_self_2, Py_NE)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 562, __pyx_L1_error)
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "dependency_injector/containers.pyx":487
+ /* "dependency_injector/containers.pyx":563
* """
* if isinstance(value, providers.Provider) and name != '__self__':
* _check_provider_type(cls, value) # <<<<<<<<<<<<<<
*
* if isinstance(value, providers.CHILD_PROVIDERS):
*/
- __pyx_t_3 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_cls, __pyx_v_value, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_cls, __pyx_v_value, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 563, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":489
+ /* "dependency_injector/containers.pyx":565
* _check_provider_type(cls, value)
*
* if isinstance(value, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
* value.assign_parent(cls)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 489, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 489, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 489, __pyx_L1_error)
+ __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = (__pyx_t_1 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/containers.pyx":490
+ /* "dependency_injector/containers.pyx":566
*
* if isinstance(value, providers.CHILD_PROVIDERS):
* value.assign_parent(cls) # <<<<<<<<<<<<<<
*
* cls.providers[name] = value
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -14005,12 +15843,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_v_cls) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_cls);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 490, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":489
+ /* "dependency_injector/containers.pyx":565
* _check_provider_type(cls, value)
*
* if isinstance(value, providers.CHILD_PROVIDERS): # <<<<<<<<<<<<<<
@@ -14019,31 +15857,31 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":492
+ /* "dependency_injector/containers.pyx":568
* value.assign_parent(cls)
*
* cls.providers[name] = value # <<<<<<<<<<<<<<
* cls.cls_providers[name] = value
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 492, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 492, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 568, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":493
+ /* "dependency_injector/containers.pyx":569
*
* cls.providers[name] = value
* cls.cls_providers[name] = value # <<<<<<<<<<<<<<
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 493, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 493, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 569, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":486
+ /* "dependency_injector/containers.pyx":562
* :rtype: None
* """
* if isinstance(value, providers.Provider) and name != '__self__': # <<<<<<<<<<<<<<
@@ -14052,16 +15890,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":494
+ /* "dependency_injector/containers.pyx":570
* cls.providers[name] = value
* cls.cls_providers[name] = value
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value) # <<<<<<<<<<<<<<
*
* def __delattr__(cls, name):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
@@ -14069,10 +15907,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GIVEREF(__pyx_v_cls);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_cls);
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_setattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_setattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -14090,7 +15928,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_value};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -14098,13 +15936,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_value};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -14115,14 +15953,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_value);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":472
+ /* "dependency_injector/containers.pyx":548
* return cls
*
* def __setattr__(cls, name, value): # <<<<<<<<<<<<<<
@@ -14146,7 +15984,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":496
+/* "dependency_injector/containers.pyx":572
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*
* def __delattr__(cls, name): # <<<<<<<<<<<<<<
@@ -14190,11 +16028,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, 1); __PYX_ERR(0, 496, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, 1); __PYX_ERR(0, 572, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__delattr__") < 0)) __PYX_ERR(0, 496, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__delattr__") < 0)) __PYX_ERR(0, 572, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -14207,7 +16045,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 496, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__delattr__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 572, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainerMetaClass.__delattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -14234,16 +16072,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__delattr__", 0);
- /* "dependency_injector/containers.pyx":507
+ /* "dependency_injector/containers.pyx":583
* :rtype: None
* """
* if name in cls.providers and name in cls.cls_providers: # <<<<<<<<<<<<<<
* del cls.providers[name]
* del cls.cls_providers[name]
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 583, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
@@ -14251,40 +16089,40 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_1 = __pyx_t_4;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 583, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_3 = (__pyx_t_4 != 0);
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "dependency_injector/containers.pyx":508
+ /* "dependency_injector/containers.pyx":584
* """
* if name in cls.providers and name in cls.cls_providers:
* del cls.providers[name] # <<<<<<<<<<<<<<
* del cls.cls_providers[name]
* super(DeclarativeContainerMetaClass, cls).__delattr__(name)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(PyObject_DelItem(__pyx_t_2, __pyx_v_name) < 0)) __PYX_ERR(0, 508, __pyx_L1_error)
+ if (unlikely(PyObject_DelItem(__pyx_t_2, __pyx_v_name) < 0)) __PYX_ERR(0, 584, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":509
+ /* "dependency_injector/containers.pyx":585
* if name in cls.providers and name in cls.cls_providers:
* del cls.providers[name]
* del cls.cls_providers[name] # <<<<<<<<<<<<<<
* super(DeclarativeContainerMetaClass, cls).__delattr__(name)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(PyObject_DelItem(__pyx_t_2, __pyx_v_name) < 0)) __PYX_ERR(0, 509, __pyx_L1_error)
+ if (unlikely(PyObject_DelItem(__pyx_t_2, __pyx_v_name) < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":507
+ /* "dependency_injector/containers.pyx":583
* :rtype: None
* """
* if name in cls.providers and name in cls.cls_providers: # <<<<<<<<<<<<<<
@@ -14293,16 +16131,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":510
+ /* "dependency_injector/containers.pyx":586
* del cls.providers[name]
* del cls.cls_providers[name]
* super(DeclarativeContainerMetaClass, cls).__delattr__(name) # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 510, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
@@ -14310,10 +16148,10 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GIVEREF(__pyx_v_cls);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_cls);
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_delattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 510, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_delattr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -14328,12 +16166,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":496
+ /* "dependency_injector/containers.pyx":572
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*
* def __delattr__(cls, name): # <<<<<<<<<<<<<<
@@ -14356,7 +16194,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":513
+/* "dependency_injector/containers.pyx":589
*
* @property
* def dependencies(cls): # <<<<<<<<<<<<<<
@@ -14401,7 +16239,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("dependencies", 0);
- /* "dependency_injector/containers.pyx":522
+ /* "dependency_injector/containers.pyx":598
* dict[str, :py:class:`dependency_injector.providers.Provider`]
* """
* return { # <<<<<<<<<<<<<<
@@ -14410,19 +16248,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
__Pyx_XDECREF(__pyx_r);
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 522, __pyx_L5_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":524
+ /* "dependency_injector/containers.pyx":600
* return {
* name: provider
* for name, provider in cls.providers.items() # <<<<<<<<<<<<<<
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer))
* }
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -14437,16 +16275,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L5_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L5_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -14454,17 +16292,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 600, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 600, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -14474,7 +16312,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 524, __pyx_L5_error)
+ else __PYX_ERR(0, 600, __pyx_L5_error)
}
break;
}
@@ -14486,7 +16324,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 524, __pyx_L5_error)
+ __PYX_ERR(0, 600, __pyx_L5_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -14499,15 +16337,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 524, __pyx_L5_error)
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 600, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
@@ -14515,7 +16353,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 524, __pyx_L5_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 600, __pyx_L5_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L9_unpacking_done;
@@ -14523,7 +16361,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 524, __pyx_L5_error)
+ __PYX_ERR(0, 600, __pyx_L5_error)
__pyx_L9_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_name, __pyx_t_3);
@@ -14531,21 +16369,21 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_provider, __pyx_t_7);
__pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":525
+ /* "dependency_injector/containers.pyx":601
* name: provider
* for name, provider in cls.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer)) # <<<<<<<<<<<<<<
* }
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L5_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 601, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 525, __pyx_L5_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Dependency); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 601, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L5_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 601, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_DependenciesContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L5_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_DependenciesContainer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_11 = PyObject_IsInstance(__pyx_8genexpr7__pyx_v_provider, __pyx_t_7);
@@ -14564,16 +16402,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_11 = (__pyx_t_10 != 0);
if (__pyx_t_11) {
- /* "dependency_injector/containers.pyx":523
+ /* "dependency_injector/containers.pyx":599
* """
* return {
* name: provider # <<<<<<<<<<<<<<
* for name, provider in cls.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer))
*/
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr7__pyx_v_name, (PyObject*)__pyx_8genexpr7__pyx_v_provider))) __PYX_ERR(0, 523, __pyx_L5_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr7__pyx_v_name, (PyObject*)__pyx_8genexpr7__pyx_v_provider))) __PYX_ERR(0, 599, __pyx_L5_error)
- /* "dependency_injector/containers.pyx":525
+ /* "dependency_injector/containers.pyx":601
* name: provider
* for name, provider in cls.providers.items()
* if isinstance(provider, (providers.Dependency, providers.DependenciesContainer)) # <<<<<<<<<<<<<<
@@ -14582,7 +16420,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":524
+ /* "dependency_injector/containers.pyx":600
* return {
* name: provider
* for name, provider in cls.providers.items() # <<<<<<<<<<<<<<
@@ -14604,7 +16442,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":513
+ /* "dependency_injector/containers.pyx":589
*
* @property
* def dependencies(cls): # <<<<<<<<<<<<<<
@@ -14631,7 +16469,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
static PyObject *__pyx_gb_19dependency_injector_10containers_29DeclarativeContainerMetaClass_10generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/containers.pyx":528
+/* "dependency_injector/containers.pyx":604
* }
*
* def traverse(cls, types=None): # <<<<<<<<<<<<<<
@@ -14680,7 +16518,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(0, 528, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(0, 604, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -14696,7 +16534,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("traverse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 528, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("traverse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 604, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainerMetaClass.traverse", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -14721,7 +16559,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_8_traverse *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 528, __pyx_L1_error)
+ __PYX_ERR(0, 604, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -14732,7 +16570,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_types);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_types);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_29DeclarativeContainerMetaClass_10generator1, __pyx_codeobj__14, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_DeclarativeContainerMetaClass_tr, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 528, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_10containers_29DeclarativeContainerMetaClass_10generator1, __pyx_codeobj__14, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_DeclarativeContainerMetaClass_tr, __pyx_n_s_dependency_injector_containers); if (unlikely(!gen)) __PYX_ERR(0, 604, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -14769,23 +16607,23 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_29DeclarativeContai
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 528, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 604, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":530
+ /* "dependency_injector/containers.pyx":606
* def traverse(cls, types=None):
* """Return providers traversal generator."""
* yield from providers.traverse(*cls.providers.values(), types=types) # <<<<<<<<<<<<<<
*
* def resolve_provider_name(cls, provider):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -14800,16 +16638,16 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_types, __pyx_cur_scope->__pyx_v_types) < 0) __PYX_ERR(0, 530, __pyx_L1_error)
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_types, __pyx_cur_scope->__pyx_v_types) < 0) __PYX_ERR(0, 606, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -14825,17 +16663,17 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_29DeclarativeContai
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 530, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 606, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(0, 530, __pyx_L1_error)
+ else __PYX_ERR(0, 606, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/containers.pyx":528
+ /* "dependency_injector/containers.pyx":604
* }
*
* def traverse(cls, types=None): # <<<<<<<<<<<<<<
@@ -14863,7 +16701,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":532
+/* "dependency_injector/containers.pyx":608
* yield from providers.traverse(*cls.providers.values(), types=types)
*
* def resolve_provider_name(cls, provider): # <<<<<<<<<<<<<<
@@ -14907,11 +16745,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provider)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, 1); __PYX_ERR(0, 532, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, 1); __PYX_ERR(0, 608, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "resolve_provider_name") < 0)) __PYX_ERR(0, 532, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "resolve_provider_name") < 0)) __PYX_ERR(0, 608, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -14924,7 +16762,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_29DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 532, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("resolve_provider_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 608, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainerMetaClass.resolve_provider_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -14959,16 +16797,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("resolve_provider_name", 0);
- /* "dependency_injector/containers.pyx":534
+ /* "dependency_injector/containers.pyx":610
* def resolve_provider_name(cls, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items(): # <<<<<<<<<<<<<<
* if container_provider is provider:
* return provider_name
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -14983,16 +16821,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -15000,17 +16838,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 610, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 610, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -15020,7 +16858,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 534, __pyx_L1_error)
+ else __PYX_ERR(0, 610, __pyx_L1_error)
}
break;
}
@@ -15032,7 +16870,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 534, __pyx_L1_error)
+ __PYX_ERR(0, 610, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -15045,15 +16883,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -15061,7 +16899,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 534, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 610, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -15069,7 +16907,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 534, __pyx_L1_error)
+ __PYX_ERR(0, 610, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_provider_name, __pyx_t_2);
@@ -15077,7 +16915,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_container_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":535
+ /* "dependency_injector/containers.pyx":611
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -15088,7 +16926,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":536
+ /* "dependency_injector/containers.pyx":612
* for provider_name, container_provider in cls.providers.items():
* if container_provider is provider:
* return provider_name # <<<<<<<<<<<<<<
@@ -15101,7 +16939,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":535
+ /* "dependency_injector/containers.pyx":611
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -15110,7 +16948,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":534
+ /* "dependency_injector/containers.pyx":610
* def resolve_provider_name(cls, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items(): # <<<<<<<<<<<<<<
@@ -15120,19 +16958,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
/*else*/ {
- /* "dependency_injector/containers.pyx":538
+ /* "dependency_injector/containers.pyx":614
* return provider_name
* else:
* raise errors.Error(f'Can not resolve name for provider "{provider}"') # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 538, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 538, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_11 = 0;
__pyx_t_12 = 127;
@@ -15140,18 +16978,18 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_11 += 35;
__Pyx_GIVEREF(__pyx_kp_u_Can_not_resolve_name_for_provide);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_Can_not_resolve_name_for_provide);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 538, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_12;
__pyx_t_11 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7);
__pyx_t_7 = 0;
- __Pyx_INCREF(__pyx_kp_u__11);
+ __Pyx_INCREF(__pyx_kp_u__12);
__pyx_t_11 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__11);
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__11);
- __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 538, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__12);
+ PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__12);
+ __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -15167,15 +17005,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 538, __pyx_L1_error)
+ __PYX_ERR(0, 614, __pyx_L1_error)
}
- /* "dependency_injector/containers.pyx":534
+ /* "dependency_injector/containers.pyx":610
* def resolve_provider_name(cls, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items(): # <<<<<<<<<<<<<<
@@ -15184,7 +17022,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":532
+ /* "dependency_injector/containers.pyx":608
* yield from providers.traverse(*cls.providers.values(), types=types)
*
* def resolve_provider_name(cls, provider): # <<<<<<<<<<<<<<
@@ -15209,7 +17047,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":541
+/* "dependency_injector/containers.pyx":617
*
* @property
* def parent_name(cls): # <<<<<<<<<<<<<<
@@ -15241,7 +17079,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parent_name", 0);
- /* "dependency_injector/containers.pyx":543
+ /* "dependency_injector/containers.pyx":619
* def parent_name(cls):
* """Return parent name."""
* return cls.__name__ # <<<<<<<<<<<<<<
@@ -15249,13 +17087,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
* @staticmethod
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 619, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":541
+ /* "dependency_injector/containers.pyx":617
*
* @property
* def parent_name(cls): # <<<<<<<<<<<<<<
@@ -15274,7 +17112,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":546
+/* "dependency_injector/containers.pyx":622
*
* @staticmethod
* def __fetch_self(attributes): # <<<<<<<<<<<<<<
@@ -15320,7 +17158,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__fetch_self", 0);
- /* "dependency_injector/containers.pyx":547
+ /* "dependency_injector/containers.pyx":623
* @staticmethod
* def __fetch_self(attributes):
* self = None # <<<<<<<<<<<<<<
@@ -15330,26 +17168,26 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(Py_None);
__pyx_v_self = Py_None;
- /* "dependency_injector/containers.pyx":548
+ /* "dependency_injector/containers.pyx":624
* def __fetch_self(attributes):
* self = None
* alt_names = [] # <<<<<<<<<<<<<<
*
* for name, value in attributes.items():
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_alt_names = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":550
+ /* "dependency_injector/containers.pyx":626
* alt_names = []
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
* if not isinstance(value, providers.Self):
* continue
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15363,16 +17201,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 626, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -15380,17 +17218,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 626, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 626, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -15400,7 +17238,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 550, __pyx_L1_error)
+ else __PYX_ERR(0, 626, __pyx_L1_error)
}
break;
}
@@ -15412,7 +17250,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 550, __pyx_L1_error)
+ __PYX_ERR(0, 626, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -15425,15 +17263,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 550, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -15441,7 +17279,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 550, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 626, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -15449,7 +17287,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 550, __pyx_L1_error)
+ __PYX_ERR(0, 626, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
@@ -15457,24 +17295,24 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":551
+ /* "dependency_injector/containers.pyx":627
*
* for name, value in attributes.items():
* if not isinstance(value, providers.Self): # <<<<<<<<<<<<<<
* continue
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Self); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 551, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Self); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 627, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_9 = PyObject_IsInstance(__pyx_v_value, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 551, __pyx_L1_error)
+ __pyx_t_9 = PyObject_IsInstance(__pyx_v_value, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 627, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_10 = ((!(__pyx_t_9 != 0)) != 0);
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":552
+ /* "dependency_injector/containers.pyx":628
* for name, value in attributes.items():
* if not isinstance(value, providers.Self):
* continue # <<<<<<<<<<<<<<
@@ -15483,7 +17321,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
goto __pyx_L3_continue;
- /* "dependency_injector/containers.pyx":551
+ /* "dependency_injector/containers.pyx":627
*
* for name, value in attributes.items():
* if not isinstance(value, providers.Self): # <<<<<<<<<<<<<<
@@ -15492,7 +17330,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":554
+ /* "dependency_injector/containers.pyx":630
* continue
*
* if self is not None and value is not self: # <<<<<<<<<<<<<<
@@ -15512,16 +17350,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_L9_bool_binop_done:;
if (unlikely(__pyx_t_10)) {
- /* "dependency_injector/containers.pyx":555
+ /* "dependency_injector/containers.pyx":631
*
* if self is not None and value is not self:
* raise errors.Error('Container can have only one "Self" provider') # <<<<<<<<<<<<<<
*
* if name != '__self__':
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_errors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_errors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 555, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -15536,14 +17374,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_s_Container_can_have_only_one_Self) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_Container_can_have_only_one_Self);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 555, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_6, 0, 0, 0);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __PYX_ERR(0, 555, __pyx_L1_error)
+ __PYX_ERR(0, 631, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":554
+ /* "dependency_injector/containers.pyx":630
* continue
*
* if self is not None and value is not self: # <<<<<<<<<<<<<<
@@ -15552,26 +17390,26 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":557
+ /* "dependency_injector/containers.pyx":633
* raise errors.Error('Container can have only one "Self" provider')
*
* if name != '__self__': # <<<<<<<<<<<<<<
* alt_names.append(name)
*
*/
- __pyx_t_10 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_self, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 557, __pyx_L1_error)
+ __pyx_t_10 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_self_2, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 633, __pyx_L1_error)
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":558
+ /* "dependency_injector/containers.pyx":634
*
* if name != '__self__':
* alt_names.append(name) # <<<<<<<<<<<<<<
*
* self = value
*/
- __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_alt_names, __pyx_v_name); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 558, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_alt_names, __pyx_v_name); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 634, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":557
+ /* "dependency_injector/containers.pyx":633
* raise errors.Error('Container can have only one "Self" provider')
*
* if name != '__self__': # <<<<<<<<<<<<<<
@@ -15580,7 +17418,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":560
+ /* "dependency_injector/containers.pyx":636
* alt_names.append(name)
*
* self = value # <<<<<<<<<<<<<<
@@ -15590,7 +17428,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__Pyx_INCREF(__pyx_v_value);
__Pyx_DECREF_SET(__pyx_v_self, __pyx_v_value);
- /* "dependency_injector/containers.pyx":550
+ /* "dependency_injector/containers.pyx":626
* alt_names = []
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -15601,24 +17439,24 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":562
+ /* "dependency_injector/containers.pyx":638
* self = value
*
* if self: # <<<<<<<<<<<<<<
* self.set_alt_names(alt_names)
*
*/
- __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_self); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 562, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_self); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 638, __pyx_L1_error)
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":563
+ /* "dependency_injector/containers.pyx":639
*
* if self:
* self.set_alt_names(alt_names) # <<<<<<<<<<<<<<
*
* return self
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_alt_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 563, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_alt_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -15632,12 +17470,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_v_alt_names) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_alt_names);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 563, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":562
+ /* "dependency_injector/containers.pyx":638
* self = value
*
* if self: # <<<<<<<<<<<<<<
@@ -15646,7 +17484,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":565
+ /* "dependency_injector/containers.pyx":641
* self.set_alt_names(alt_names)
*
* return self # <<<<<<<<<<<<<<
@@ -15658,7 +17496,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
__pyx_r = __pyx_v_self;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":546
+ /* "dependency_injector/containers.pyx":622
*
* @staticmethod
* def __fetch_self(attributes): # <<<<<<<<<<<<<<
@@ -15685,7 +17523,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_29DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":631
+/* "dependency_injector/containers.pyx":719
* """
*
* def __new__(cls, **overriding_providers): # <<<<<<<<<<<<<<
@@ -15727,7 +17565,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_20DeclarativeContai
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "__new__") < 0)) __PYX_ERR(0, 631, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "__new__") < 0)) __PYX_ERR(0, 719, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -15738,7 +17576,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_20DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__new__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 631, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__new__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 719, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_overriding_providers); __pyx_v_overriding_providers = 0;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainer.__new__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -15770,19 +17608,20 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
PyObject *(*__pyx_t_9)(PyObject *);
+ int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__new__", 0);
- /* "dependency_injector/containers.pyx":637
+ /* "dependency_injector/containers.pyx":725
* :rtype: :py:class:`DynamicContainer`
* """
* container = cls.instance_type() # <<<<<<<<<<<<<<
* container.provider_type = cls.provider_type
- * container.declarative_parent = cls
+ * container.wiring_config = copy_module.deepcopy(cls.wiring_config)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_instance_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 637, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_instance_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15796,64 +17635,38 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_container = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":638
+ /* "dependency_injector/containers.pyx":726
* """
* container = cls.instance_type()
* container.provider_type = cls.provider_type # <<<<<<<<<<<<<<
+ * container.wiring_config = copy_module.deepcopy(cls.wiring_config)
* container.declarative_parent = cls
- *
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_provider_type, __pyx_t_1) < 0) __PYX_ERR(0, 638, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_provider_type, __pyx_t_1) < 0) __PYX_ERR(0, 726, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":639
+ /* "dependency_injector/containers.pyx":727
* container = cls.instance_type()
* container.provider_type = cls.provider_type
- * container.declarative_parent = cls # <<<<<<<<<<<<<<
- *
- * copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}})
- */
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_declarative_parent, __pyx_v_cls) < 0) __PYX_ERR(0, 639, __pyx_L1_error)
-
- /* "dependency_injector/containers.pyx":641
+ * container.wiring_config = copy_module.deepcopy(cls.wiring_config) # <<<<<<<<<<<<<<
* container.declarative_parent = cls
*
- * copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}}) # <<<<<<<<<<<<<<
- * copied_self = copied_providers.pop('@@self@@')
- * copied_self.set_container(container)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_copy_module); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (unlikely(__pyx_t_4 == Py_None)) {
- PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(0, 641, __pyx_L1_error)
- }
- if (likely(PyDict_CheckExact(__pyx_t_4))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- } else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- }
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_self); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_2, __pyx_kp_s_self_3, __pyx_t_4) < 0) __PYX_ERR(0, 641, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_wiring_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -15867,118 +17680,177 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_wiring_config, __pyx_t_1) < 0) __PYX_ERR(0, 727, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":728
+ * container.provider_type = cls.provider_type
+ * container.wiring_config = copy_module.deepcopy(cls.wiring_config)
+ * container.declarative_parent = cls # <<<<<<<<<<<<<<
+ *
+ * copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}})
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_declarative_parent, __pyx_v_cls) < 0) __PYX_ERR(0, 728, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":730
+ * container.declarative_parent = cls
+ *
+ * copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}}) # <<<<<<<<<<<<<<
+ * copied_self = copied_providers.pop('@@self@@')
+ * copied_self.set_container(container)
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ if (unlikely(__pyx_t_4 == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
+ __PYX_ERR(0, 730, __pyx_L1_error)
+ }
+ if (likely(PyDict_CheckExact(__pyx_t_4))) {
+ __pyx_t_3 = PyDict_Copy(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ } else {
+ __pyx_t_3 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ }
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_self_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_kp_s_self_3, __pyx_t_4) < 0) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 730, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied_providers = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":642
+ /* "dependency_injector/containers.pyx":731
*
* copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}})
* copied_self = copied_providers.pop('@@self@@') # <<<<<<<<<<<<<<
* copied_self.set_container(container)
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_providers, __pyx_n_s_pop); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 642, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_providers, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_s_self_3) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_self_3);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_self_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_self_3);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied_self = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":643
+ /* "dependency_injector/containers.pyx":732
* copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}})
* copied_self = copied_providers.pop('@@self@@')
* copied_self.set_container(container) # <<<<<<<<<<<<<<
*
* container.__self__ = copied_self
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_self, __pyx_n_s_set_container); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 643, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_self, __pyx_n_s_set_container); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_container) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_container);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_container) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_container);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":645
+ /* "dependency_injector/containers.pyx":734
* copied_self.set_container(container)
*
* container.__self__ = copied_self # <<<<<<<<<<<<<<
* for name in copied_self.alt_names:
* container.set_provider(name, copied_self)
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_self, __pyx_v_copied_self) < 0) __PYX_ERR(0, 645, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_container, __pyx_n_s_self_2, __pyx_v_copied_self) < 0) __PYX_ERR(0, 734, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":646
+ /* "dependency_injector/containers.pyx":735
*
* container.__self__ = copied_self
* for name in copied_self.alt_names: # <<<<<<<<<<<<<<
* container.set_provider(name, copied_self)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_self, __pyx_n_s_alt_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_self, __pyx_n_s_alt_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
+ __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 646, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 735, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
- if (likely(PyList_CheckExact(__pyx_t_3))) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 735, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
+ if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 735, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
- __pyx_t_1 = __pyx_t_6(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_6(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 646, __pyx_L1_error)
+ else __PYX_ERR(0, 735, __pyx_L1_error)
}
break;
}
@@ -15987,45 +17859,45 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":647
+ /* "dependency_injector/containers.pyx":736
* container.__self__ = copied_self
* for name in copied_self.alt_names:
* container.set_provider(name, copied_self) # <<<<<<<<<<<<<<
*
* for name, provider in copied_providers.items():
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 647, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 736, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_7 = 0;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
- if (PyFunction_Check(__pyx_t_2)) {
+ if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_v_copied_self};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 736, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
- if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_v_copied_self};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 736, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 647, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -16036,14 +17908,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_INCREF(__pyx_v_copied_self);
__Pyx_GIVEREF(__pyx_v_copied_self);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_copied_self);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":646
+ /* "dependency_injector/containers.pyx":735
*
* container.__self__ = copied_self
* for name in copied_self.alt_names: # <<<<<<<<<<<<<<
@@ -16051,108 +17923,108 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
*
*/
}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":649
+ /* "dependency_injector/containers.pyx":738
* container.set_provider(name, copied_self)
*
* for name, provider in copied_providers.items(): # <<<<<<<<<<<<<<
* container.set_provider(name, provider)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_providers, __pyx_n_s_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied_providers, __pyx_n_s_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = NULL;
+ __pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 649, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
- __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 738, __pyx_L1_error)
}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 738, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 649, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 738, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 649, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
#endif
}
} else {
- __pyx_t_3 = __pyx_t_6(__pyx_t_1);
- if (unlikely(!__pyx_t_3)) {
+ __pyx_t_2 = __pyx_t_6(__pyx_t_1);
+ if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 649, __pyx_L1_error)
+ else __PYX_ERR(0, 738, __pyx_L1_error)
}
break;
}
- __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_t_2);
}
- if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
- PyObject* sequence = __pyx_t_3;
+ if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
+ PyObject* sequence = __pyx_t_2;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 649, __pyx_L1_error)
+ __PYX_ERR(0, 738, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
- __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
+ __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_8 = PyTuple_GET_ITEM(sequence, 1);
} else {
- __pyx_t_2 = PyList_GET_ITEM(sequence, 0);
+ __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
__pyx_t_8 = PyList_GET_ITEM(sequence, 1);
}
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 649, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 738, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
#endif
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L1_error)
+ __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext;
- index = 0; __pyx_t_2 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed;
- __Pyx_GOTREF(__pyx_t_2);
+ index = 0; __pyx_t_3 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed;
+ __Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_8 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_8)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_8);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_4), 2) < 0) __PYX_ERR(0, 649, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_4), 2) < 0) __PYX_ERR(0, 738, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
goto __pyx_L8_unpacking_done;
@@ -16160,30 +18032,30 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 649, __pyx_L1_error)
+ __PYX_ERR(0, 738, __pyx_L1_error)
__pyx_L8_unpacking_done:;
}
- __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
- __pyx_t_2 = 0;
+ __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
+ __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_8);
__pyx_t_8 = 0;
- /* "dependency_injector/containers.pyx":650
+ /* "dependency_injector/containers.pyx":739
*
* for name, provider in copied_providers.items():
* container.set_provider(name, provider) # <<<<<<<<<<<<<<
*
- * container.override_providers(**overriding_providers)
+ * if cls.auto_load_config:
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 650, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_set_provider); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = NULL;
+ __pyx_t_3 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
- if (likely(__pyx_t_2)) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
+ if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
@@ -16191,25 +18063,25 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
- PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_provider};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_provider};
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
- PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_name, __pyx_v_provider};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_provider};
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (__pyx_t_2) {
- __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
+ if (__pyx_t_3) {
+ __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -16217,14 +18089,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_provider);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":649
+ /* "dependency_injector/containers.pyx":738
* container.set_provider(name, copied_self)
*
* for name, provider in copied_providers.items(): # <<<<<<<<<<<<<<
@@ -16234,49 +18106,163 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":652
+ /* "dependency_injector/containers.pyx":741
* container.set_provider(name, provider)
*
+ * if cls.auto_load_config: # <<<<<<<<<<<<<<
+ * container.load_config()
+ *
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_auto_load_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 741, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_10) {
+
+ /* "dependency_injector/containers.pyx":742
+ *
+ * if cls.auto_load_config:
+ * container.load_config() # <<<<<<<<<<<<<<
+ *
+ * container.override_providers(**overriding_providers)
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_load_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 742, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_8 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":741
+ * container.set_provider(name, provider)
+ *
+ * if cls.auto_load_config: # <<<<<<<<<<<<<<
+ * container.load_config()
+ *
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":744
+ * container.load_config()
+ *
* container.override_providers(**overriding_providers) # <<<<<<<<<<<<<<
* container.apply_container_providers_overridings()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_override_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_override_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_overriding_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 652, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = PyDict_Copy(__pyx_v_overriding_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 744, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/containers.pyx":653
+ /* "dependency_injector/containers.pyx":745
*
* container.override_providers(**overriding_providers)
* container.apply_container_providers_overridings() # <<<<<<<<<<<<<<
*
- * return container
+ * if container.is_auto_wiring_enabled():
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_apply_container_providers_overri); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_8)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_8);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_apply_container_providers_overri); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- __pyx_t_3 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_8 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 745, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/containers.pyx":655
+ /* "dependency_injector/containers.pyx":747
* container.apply_container_providers_overridings()
*
+ * if container.is_auto_wiring_enabled(): # <<<<<<<<<<<<<<
+ * container.wire()
+ *
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_is_auto_wiring_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_8 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 747, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 747, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__pyx_t_10) {
+
+ /* "dependency_injector/containers.pyx":748
+ *
+ * if container.is_auto_wiring_enabled():
+ * container.wire() # <<<<<<<<<<<<<<
+ *
+ * return container
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_wire); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_8 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+ /* "dependency_injector/containers.pyx":747
+ * container.apply_container_providers_overridings()
+ *
+ * if container.is_auto_wiring_enabled(): # <<<<<<<<<<<<<<
+ * container.wire()
+ *
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":750
+ * container.wire()
+ *
* return container # <<<<<<<<<<<<<<
*
* @classmethod
@@ -16286,7 +18272,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_r = __pyx_v_container;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":631
+ /* "dependency_injector/containers.pyx":719
* """
*
* def __new__(cls, **overriding_providers): # <<<<<<<<<<<<<<
@@ -16314,7 +18300,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":658
+/* "dependency_injector/containers.pyx":753
*
* @classmethod
* def override(cls, object overriding): # <<<<<<<<<<<<<<
@@ -16358,11 +18344,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_20DeclarativeContai
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overriding)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, 1); __PYX_ERR(0, 658, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, 1); __PYX_ERR(0, 753, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "override") < 0)) __PYX_ERR(0, 658, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "override") < 0)) __PYX_ERR(0, 753, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -16375,7 +18361,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_20DeclarativeContai
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 658, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("override", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 753, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.DeclarativeContainer.override", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -16412,38 +18398,38 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/containers.pyx":669
+ /* "dependency_injector/containers.pyx":764
* :rtype: None
* """
* if issubclass(cls, overriding): # <<<<<<<<<<<<<<
* raise errors.Error('Container {0} could not be overridden '
* 'with itself or its subclasses'.format(cls))
*/
- __pyx_t_1 = PyObject_IsSubclass(__pyx_v_cls, __pyx_v_overriding); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 669, __pyx_L1_error)
+ __pyx_t_1 = PyObject_IsSubclass(__pyx_v_cls, __pyx_v_overriding); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 764, __pyx_L1_error)
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/containers.pyx":670
+ /* "dependency_injector/containers.pyx":765
* """
* if issubclass(cls, overriding):
* raise errors.Error('Container {0} could not be overridden ' # <<<<<<<<<<<<<<
* 'with itself or its subclasses'.format(cls))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 765, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 670, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 765, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":671
+ /* "dependency_injector/containers.pyx":766
* if issubclass(cls, overriding):
* raise errors.Error('Container {0} could not be overridden '
* 'with itself or its subclasses'.format(cls)) # <<<<<<<<<<<<<<
*
* cls.overridden += (overriding,)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_could_not_be_overrid_2, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_could_not_be_overrid_2, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -16457,7 +18443,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_cls) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_cls);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -16473,14 +18459,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 765, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(0, 670, __pyx_L1_error)
+ __PYX_ERR(0, 765, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":669
+ /* "dependency_injector/containers.pyx":764
* :rtype: None
* """
* if issubclass(cls, overriding): # <<<<<<<<<<<<<<
@@ -16489,40 +18475,40 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":673
+ /* "dependency_injector/containers.pyx":768
* 'with itself or its subclasses'.format(cls))
*
* cls.overridden += (overriding,) # <<<<<<<<<<<<<<
*
* for name, provider in six.iteritems(overriding.cls_providers):
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_overriding);
__Pyx_GIVEREF(__pyx_v_overriding);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_overriding);
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 673, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_4) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_4) < 0) __PYX_ERR(0, 768, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":675
+ /* "dependency_injector/containers.pyx":770
* cls.overridden += (overriding,)
*
* for name, provider in six.iteritems(overriding.cls_providers): # <<<<<<<<<<<<<<
* try:
* getattr(cls, name).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_overriding, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_overriding, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -16537,16 +18523,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
- __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 770, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
@@ -16554,17 +18540,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 770, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 770, __pyx_L1_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -16574,7 +18560,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 675, __pyx_L1_error)
+ else __PYX_ERR(0, 770, __pyx_L1_error)
}
break;
}
@@ -16586,7 +18572,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 675, __pyx_L1_error)
+ __PYX_ERR(0, 770, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -16599,15 +18585,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 675, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -16615,7 +18601,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_7), 2) < 0) __PYX_ERR(0, 675, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_7), 2) < 0) __PYX_ERR(0, 770, __pyx_L1_error)
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L7_unpacking_done;
@@ -16623,7 +18609,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 675, __pyx_L1_error)
+ __PYX_ERR(0, 770, __pyx_L1_error)
__pyx_L7_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -16631,7 +18617,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":676
+ /* "dependency_injector/containers.pyx":771
*
* for name, provider in six.iteritems(overriding.cls_providers):
* try: # <<<<<<<<<<<<<<
@@ -16647,16 +18633,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XGOTREF(__pyx_t_13);
/*try:*/ {
- /* "dependency_injector/containers.pyx":677
+ /* "dependency_injector/containers.pyx":772
* for name, provider in six.iteritems(overriding.cls_providers):
* try:
* getattr(cls, name).override(provider) # <<<<<<<<<<<<<<
* except AttributeError:
* pass
*/
- __pyx_t_6 = __Pyx_GetAttr(__pyx_v_cls, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 677, __pyx_L8_error)
+ __pyx_t_6 = __Pyx_GetAttr(__pyx_v_cls, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 772, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 677, __pyx_L8_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -16671,12 +18657,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 677, __pyx_L8_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":676
+ /* "dependency_injector/containers.pyx":771
*
* for name, provider in six.iteritems(overriding.cls_providers):
* try: # <<<<<<<<<<<<<<
@@ -16694,7 +18680,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":678
+ /* "dependency_injector/containers.pyx":773
* try:
* getattr(cls, name).override(provider)
* except AttributeError: # <<<<<<<<<<<<<<
@@ -16709,7 +18695,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
goto __pyx_L10_except_error;
__pyx_L10_except_error:;
- /* "dependency_injector/containers.pyx":676
+ /* "dependency_injector/containers.pyx":771
*
* for name, provider in six.iteritems(overriding.cls_providers):
* try: # <<<<<<<<<<<<<<
@@ -16729,7 +18715,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_L15_try_end:;
}
- /* "dependency_injector/containers.pyx":675
+ /* "dependency_injector/containers.pyx":770
* cls.overridden += (overriding,)
*
* for name, provider in six.iteritems(overriding.cls_providers): # <<<<<<<<<<<<<<
@@ -16739,7 +18725,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":658
+ /* "dependency_injector/containers.pyx":753
*
* @classmethod
* def override(cls, object overriding): # <<<<<<<<<<<<<<
@@ -16766,7 +18752,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":682
+/* "dependency_injector/containers.pyx":777
*
* @classmethod
* def reset_last_overriding(cls): # <<<<<<<<<<<<<<
@@ -16807,33 +18793,33 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/containers.pyx":687
+ /* "dependency_injector/containers.pyx":782
* :rtype: None
* """
* if not cls.overridden: # <<<<<<<<<<<<<<
* raise errors.Error('Container {0} is not overridden'.format(cls))
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 687, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 687, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 782, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!__pyx_t_2) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/containers.pyx":688
+ /* "dependency_injector/containers.pyx":783
* """
* if not cls.overridden:
* raise errors.Error('Container {0} is not overridden'.format(cls)) # <<<<<<<<<<<<<<
*
* cls.overridden = cls.overridden[:-1]
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 688, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 688, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -16847,7 +18833,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_cls) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_cls);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 688, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -16863,14 +18849,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 688, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 688, __pyx_L1_error)
+ __PYX_ERR(0, 783, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":687
+ /* "dependency_injector/containers.pyx":782
* :rtype: None
* """
* if not cls.overridden: # <<<<<<<<<<<<<<
@@ -16879,34 +18865,34 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
*/
}
- /* "dependency_injector/containers.pyx":690
+ /* "dependency_injector/containers.pyx":785
* raise errors.Error('Container {0} is not overridden'.format(cls))
*
* cls.overridden = cls.overridden[:-1] # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(cls.providers):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, -1L, NULL, NULL, &__pyx_slice__3, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 690, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, -1L, NULL, NULL, &__pyx_slice__3, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_5) < 0) __PYX_ERR(0, 690, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_5) < 0) __PYX_ERR(0, 785, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":692
+ /* "dependency_injector/containers.pyx":787
* cls.overridden = cls.overridden[:-1]
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
* provider.reset_last_overriding()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -16921,16 +18907,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
- __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 787, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -16938,17 +18924,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 787, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 787, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -16958,7 +18944,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 692, __pyx_L1_error)
+ else __PYX_ERR(0, 787, __pyx_L1_error)
}
break;
}
@@ -16967,14 +18953,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":693
+ /* "dependency_injector/containers.pyx":788
*
* for provider in six.itervalues(cls.providers):
* provider.reset_last_overriding() # <<<<<<<<<<<<<<
*
* @classmethod
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -16988,12 +18974,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/containers.pyx":692
+ /* "dependency_injector/containers.pyx":787
* cls.overridden = cls.overridden[:-1]
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
@@ -17003,7 +18989,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":682
+ /* "dependency_injector/containers.pyx":777
*
* @classmethod
* def reset_last_overriding(cls): # <<<<<<<<<<<<<<
@@ -17029,7 +19015,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":696
+/* "dependency_injector/containers.pyx":791
*
* @classmethod
* def reset_override(cls): # <<<<<<<<<<<<<<
@@ -17067,31 +19053,31 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/containers.pyx":701
+ /* "dependency_injector/containers.pyx":796
* :rtype: None
* """
* cls.overridden = tuple() # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(cls.providers):
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_1) < 0) __PYX_ERR(0, 701, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_overridden, __pyx_t_1) < 0) __PYX_ERR(0, 796, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":703
+ /* "dependency_injector/containers.pyx":798
* cls.overridden = tuple()
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
* provider.reset_override()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_itervalues); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -17106,16 +19092,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 798, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -17123,17 +19109,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 798, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 798, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -17143,7 +19129,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 703, __pyx_L1_error)
+ else __PYX_ERR(0, 798, __pyx_L1_error)
}
break;
}
@@ -17152,14 +19138,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":704
+ /* "dependency_injector/containers.pyx":799
*
* for provider in six.itervalues(cls.providers):
* provider.reset_override() # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -17173,12 +19159,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":703
+ /* "dependency_injector/containers.pyx":798
* cls.overridden = tuple()
*
* for provider in six.itervalues(cls.providers): # <<<<<<<<<<<<<<
@@ -17188,7 +19174,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":696
+ /* "dependency_injector/containers.pyx":791
*
* @classmethod
* def reset_override(cls): # <<<<<<<<<<<<<<
@@ -17213,7 +19199,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_20DeclarativeContai
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":709
+/* "dependency_injector/containers.pyx":804
* class SingletonResetContext:
*
* def __init__(self, container): # <<<<<<<<<<<<<<
@@ -17234,7 +19220,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,&__pyx_n_s_container,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_container,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -17250,17 +19236,17 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_container)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 709, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 804, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 709, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 804, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -17273,7 +19259,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 709, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 804, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.SingletonResetContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -17294,16 +19280,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/containers.pyx":710
+ /* "dependency_injector/containers.pyx":805
*
* def __init__(self, container):
* self._container = container # <<<<<<<<<<<<<<
*
* def __enter__(self):
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_container_2, __pyx_v_container) < 0) __PYX_ERR(0, 710, __pyx_L1_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_container_2, __pyx_v_container) < 0) __PYX_ERR(0, 805, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":709
+ /* "dependency_injector/containers.pyx":804
* class SingletonResetContext:
*
* def __init__(self, container): # <<<<<<<<<<<<<<
@@ -17323,7 +19309,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":712
+/* "dependency_injector/containers.pyx":807
* self._container = container
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -17354,7 +19340,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "dependency_injector/containers.pyx":713
+ /* "dependency_injector/containers.pyx":808
*
* def __enter__(self):
* return self._container # <<<<<<<<<<<<<<
@@ -17362,13 +19348,13 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
* def __exit__(self, *_):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_container_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_container_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 808, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":712
+ /* "dependency_injector/containers.pyx":807
* self._container = container
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -17387,7 +19373,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":715
+/* "dependency_injector/containers.pyx":810
* return self._container
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -17418,7 +19404,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
__pyx_v__ = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self_2,0};
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
PyObject* values[1] = {0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
@@ -17432,12 +19418,12 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
- if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self_2)) != 0)) kw_args--;
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "__exit__") < 0)) __PYX_ERR(0, 715, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "__exit__") < 0)) __PYX_ERR(0, 810, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
goto __pyx_L5_argtuple_error;
@@ -17448,7 +19434,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_21SingletonResetCon
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__exit__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 715, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__exit__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 810, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v__); __pyx_v__ = 0;
__Pyx_AddTraceback("dependency_injector.containers.SingletonResetContext.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -17474,16 +19460,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "dependency_injector/containers.pyx":716
+ /* "dependency_injector/containers.pyx":811
*
* def __exit__(self, *_):
* self._container.reset_singletons() # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_container_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_container_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reset_singletons); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_reset_singletons); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -17498,12 +19484,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":715
+ /* "dependency_injector/containers.pyx":810
* return self._container
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -17526,7 +19512,405 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_21SingletonResetCon
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":719
+/* "dependency_injector/containers.pyx":817
+ * class ProvidersOverridingContext:
+ *
+ * def __init__(self, container, overridden_providers): # <<<<<<<<<<<<<<
+ * self._container = container
+ * self._overridden_providers = overridden_providers
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_self = 0;
+ PyObject *__pyx_v_container = 0;
+ PyObject *__pyx_v_overridden_providers = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_container,&__pyx_n_s_overridden_providers,0};
+ PyObject* values[3] = {0,0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ CYTHON_FALLTHROUGH;
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_container)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 817, __pyx_L3_error)
+ }
+ CYTHON_FALLTHROUGH;
+ case 2:
+ if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overridden_providers)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 817, __pyx_L3_error)
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 817, __pyx_L3_error)
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+ }
+ __pyx_v_self = values[0];
+ __pyx_v_container = values[1];
+ __pyx_v_overridden_providers = values[2];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 817, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("dependency_injector.containers.ProvidersOverridingContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext___init__(__pyx_self, __pyx_v_self, __pyx_v_container, __pyx_v_overridden_providers);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_container, PyObject *__pyx_v_overridden_providers) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__init__", 0);
+
+ /* "dependency_injector/containers.pyx":818
+ *
+ * def __init__(self, container, overridden_providers):
+ * self._container = container # <<<<<<<<<<<<<<
+ * self._overridden_providers = overridden_providers
+ *
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_container_2, __pyx_v_container) < 0) __PYX_ERR(0, 818, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":819
+ * def __init__(self, container, overridden_providers):
+ * self._container = container
+ * self._overridden_providers = overridden_providers # <<<<<<<<<<<<<<
+ *
+ * def __enter__(self):
+ */
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_overridden_providers_2, __pyx_v_overridden_providers) < 0) __PYX_ERR(0, 819, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":817
+ * class ProvidersOverridingContext:
+ *
+ * def __init__(self, container, overridden_providers): # <<<<<<<<<<<<<<
+ * self._container = container
+ * self._overridden_providers = overridden_providers
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_AddTraceback("dependency_injector.containers.ProvidersOverridingContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":821
+ * self._overridden_providers = overridden_providers
+ *
+ * def __enter__(self): # <<<<<<<<<<<<<<
+ * return self._container
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_3__enter__ = {"__enter__", (PyCFunction)__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_3__enter__, METH_O, 0};
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_3__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_2__enter__(__pyx_self, ((PyObject *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__enter__", 0);
+
+ /* "dependency_injector/containers.pyx":822
+ *
+ * def __enter__(self):
+ * return self._container # <<<<<<<<<<<<<<
+ *
+ * def __exit__(self, *_):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_container_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":821
+ * self._overridden_providers = overridden_providers
+ *
+ * def __enter__(self): # <<<<<<<<<<<<<<
+ * return self._container
+ *
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.containers.ProvidersOverridingContext.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":824
+ * return self._container
+ *
+ * def __exit__(self, *_): # <<<<<<<<<<<<<<
+ * for provider in self._overridden_providers:
+ * provider.reset_last_overriding()
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_5__exit__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_5__exit__ = {"__exit__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_5__exit__, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_19dependency_injector_10containers_26ProvidersOverridingContext_5__exit__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_self = 0;
+ CYTHON_UNUSED PyObject *__pyx_v__ = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
+ if (PyTuple_GET_SIZE(__pyx_args) > 1) {
+ __pyx_v__ = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args));
+ if (unlikely(!__pyx_v__)) {
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ }
+ __Pyx_GOTREF(__pyx_v__);
+ } else {
+ __pyx_v__ = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
+ }
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
+ PyObject* values[1] = {0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ default:
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ }
+ if (unlikely(kw_args > 0)) {
+ const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "__exit__") < 0)) __PYX_ERR(0, 824, __pyx_L3_error)
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ }
+ __pyx_v_self = values[0];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("__exit__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 824, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_DECREF(__pyx_v__); __pyx_v__ = 0;
+ __Pyx_AddTraceback("dependency_injector.containers.ProvidersOverridingContext.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_4__exit__(__pyx_self, __pyx_v_self, __pyx_v__);
+
+ /* function exit code */
+ __Pyx_XDECREF(__pyx_v__);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_26ProvidersOverridingContext_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v__) {
+ PyObject *__pyx_v_provider = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("__exit__", 0);
+
+ /* "dependency_injector/containers.pyx":825
+ *
+ * def __exit__(self, *_):
+ * for provider in self._overridden_providers: # <<<<<<<<<<<<<<
+ * provider.reset_last_overriding()
+ *
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_overridden_providers_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+ __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 825, __pyx_L1_error)
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 825, __pyx_L1_error)
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_4(__pyx_t_2);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(0, 825, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":826
+ * def __exit__(self, *_):
+ * for provider in self._overridden_providers:
+ * provider.reset_last_overriding() # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 826, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __pyx_t_6 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_5, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 826, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":825
+ *
+ * def __exit__(self, *_):
+ * for provider in self._overridden_providers: # <<<<<<<<<<<<<<
+ * provider.reset_last_overriding()
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "dependency_injector/containers.pyx":824
+ * return self._container
+ *
+ * def __exit__(self, *_): # <<<<<<<<<<<<<<
+ * for provider in self._overridden_providers:
+ * provider.reset_last_overriding()
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_AddTraceback("dependency_injector.containers.ProvidersOverridingContext.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_provider);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
@@ -17549,7 +19933,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_5override(PyObject
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":729
+/* "dependency_injector/containers.pyx":839
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _decorator(object overriding_container): # <<<<<<<<<<<<<<
@@ -17587,15 +19971,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8override__decorato
__pyx_outer_scope = (struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_9_override *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
- /* "dependency_injector/containers.pyx":731
+ /* "dependency_injector/containers.pyx":841
* def _decorator(object overriding_container):
* """Overriding decorator."""
* container.override(overriding_container) # <<<<<<<<<<<<<<
* return overriding_container
* return _decorator
*/
- if (unlikely(!__pyx_cur_scope->__pyx_v_container)) { __Pyx_RaiseClosureNameError("container"); __PYX_ERR(0, 731, __pyx_L1_error) }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_container, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_v_container)) { __Pyx_RaiseClosureNameError("container"); __PYX_ERR(0, 841, __pyx_L1_error) }
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_container, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -17609,12 +19993,12 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8override__decorato
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_overriding_container) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_overriding_container);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 731, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":732
+ /* "dependency_injector/containers.pyx":842
* """Overriding decorator."""
* container.override(overriding_container)
* return overriding_container # <<<<<<<<<<<<<<
@@ -17626,7 +20010,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8override__decorato
__pyx_r = __pyx_v_overriding_container;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":729
+ /* "dependency_injector/containers.pyx":839
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _decorator(object overriding_container): # <<<<<<<<<<<<<<
@@ -17647,7 +20031,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8override__decorato
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":719
+/* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
@@ -17669,7 +20053,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4override(CYTHON_UN
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_9_override *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 719, __pyx_L1_error)
+ __PYX_ERR(0, 829, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -17677,19 +20061,19 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4override(CYTHON_UN
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_container);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_container);
- /* "dependency_injector/containers.pyx":729
+ /* "dependency_injector/containers.pyx":839
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _decorator(object overriding_container): # <<<<<<<<<<<<<<
* """Overriding decorator."""
* container.override(overriding_container)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_8override_1_decorator, 0, __pyx_n_s_override_locals__decorator, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 729, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_8override_1_decorator, 0, __pyx_n_s_override_locals__decorator, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v__decorator = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":733
+ /* "dependency_injector/containers.pyx":843
* container.override(overriding_container)
* return overriding_container
* return _decorator # <<<<<<<<<<<<<<
@@ -17701,7 +20085,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4override(CYTHON_UN
__pyx_r = __pyx_v__decorator;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":719
+ /* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
@@ -17722,7 +20106,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4override(CYTHON_UN
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":736
+/* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
@@ -17745,7 +20129,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_7copy(PyObject *__p
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":749
+/* "dependency_injector/containers.pyx":859
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _get_memo_for_matching_names(new_providers, base_providers): # <<<<<<<<<<<<<<
@@ -17788,11 +20172,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_4copy_1_get_memo_fo
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_base_providers)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_get_memo_for_matching_names", 1, 2, 2, 1); __PYX_ERR(0, 749, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_get_memo_for_matching_names", 1, 2, 2, 1); __PYX_ERR(0, 859, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_get_memo_for_matching_names") < 0)) __PYX_ERR(0, 749, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_get_memo_for_matching_names") < 0)) __PYX_ERR(0, 859, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -17805,7 +20189,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_4copy_1_get_memo_fo
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_get_memo_for_matching_names", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 749, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_get_memo_for_matching_names", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 859, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers.copy._get_memo_for_matching_names", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -17846,28 +20230,28 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__pyx_outer_scope = (struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_10_copy *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
- /* "dependency_injector/containers.pyx":750
+ /* "dependency_injector/containers.pyx":860
* """
* def _get_memo_for_matching_names(new_providers, base_providers):
* memo = {} # <<<<<<<<<<<<<<
* for new_provider_name, new_provider in six.iteritems(new_providers):
* if new_provider_name not in base_providers:
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_memo = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":751
+ /* "dependency_injector/containers.pyx":861
* def _get_memo_for_matching_names(new_providers, base_providers):
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers): # <<<<<<<<<<<<<<
* if new_provider_name not in base_providers:
* continue
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -17882,16 +20266,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_new_providers) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_new_providers);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 751, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -17899,17 +20283,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 861, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 861, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -17919,7 +20303,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 751, __pyx_L1_error)
+ else __PYX_ERR(0, 861, __pyx_L1_error)
}
break;
}
@@ -17931,7 +20315,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 751, __pyx_L1_error)
+ __PYX_ERR(0, 861, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -17944,15 +20328,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 751, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -17960,7 +20344,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 751, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 861, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -17968,7 +20352,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 751, __pyx_L1_error)
+ __PYX_ERR(0, 861, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_new_provider_name, __pyx_t_2);
@@ -17976,18 +20360,18 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__Pyx_XDECREF_SET(__pyx_v_new_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":752
+ /* "dependency_injector/containers.pyx":862
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers):
* if new_provider_name not in base_providers: # <<<<<<<<<<<<<<
* continue
* source_provider = base_providers[new_provider_name]
*/
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_new_provider_name, __pyx_v_base_providers, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 752, __pyx_L1_error)
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_new_provider_name, __pyx_v_base_providers, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 862, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":753
+ /* "dependency_injector/containers.pyx":863
* for new_provider_name, new_provider in six.iteritems(new_providers):
* if new_provider_name not in base_providers:
* continue # <<<<<<<<<<<<<<
@@ -17996,7 +20380,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
*/
goto __pyx_L3_continue;
- /* "dependency_injector/containers.pyx":752
+ /* "dependency_injector/containers.pyx":862
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers):
* if new_provider_name not in base_providers: # <<<<<<<<<<<<<<
@@ -18005,81 +20389,81 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
*/
}
- /* "dependency_injector/containers.pyx":754
+ /* "dependency_injector/containers.pyx":864
* if new_provider_name not in base_providers:
* continue
* source_provider = base_providers[new_provider_name] # <<<<<<<<<<<<<<
* memo[id(source_provider)] = new_provider
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_base_providers, __pyx_v_new_provider_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 754, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_base_providers, __pyx_v_new_provider_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 864, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_source_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":755
+ /* "dependency_injector/containers.pyx":865
* continue
* source_provider = base_providers[new_provider_name]
* memo[id(source_provider)] = new_provider # <<<<<<<<<<<<<<
*
* if hasattr(new_provider, 'providers') and hasattr(source_provider, 'providers'):
*/
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_source_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 755, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_source_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_new_provider) < 0)) __PYX_ERR(0, 755, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_new_provider) < 0)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":757
+ /* "dependency_injector/containers.pyx":867
* memo[id(source_provider)] = new_provider
*
* if hasattr(new_provider, 'providers') and hasattr(source_provider, 'providers'): # <<<<<<<<<<<<<<
* sub_memo = _get_memo_for_matching_names(new_provider.providers, source_provider.providers)
* memo.update(sub_memo)
*/
- __pyx_t_9 = __Pyx_HasAttr(__pyx_v_new_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 757, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_HasAttr(__pyx_v_new_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 867, __pyx_L1_error)
__pyx_t_11 = (__pyx_t_9 != 0);
if (__pyx_t_11) {
} else {
__pyx_t_10 = __pyx_t_11;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_11 = __Pyx_HasAttr(__pyx_v_source_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 757, __pyx_L1_error)
+ __pyx_t_11 = __Pyx_HasAttr(__pyx_v_source_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 867, __pyx_L1_error)
__pyx_t_9 = (__pyx_t_11 != 0);
__pyx_t_10 = __pyx_t_9;
__pyx_L9_bool_binop_done:;
if (__pyx_t_10) {
- /* "dependency_injector/containers.pyx":758
+ /* "dependency_injector/containers.pyx":868
*
* if hasattr(new_provider, 'providers') and hasattr(source_provider, 'providers'):
* sub_memo = _get_memo_for_matching_names(new_provider.providers, source_provider.providers) # <<<<<<<<<<<<<<
* memo.update(sub_memo)
* return memo
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 758, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 758, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (unlikely(!__pyx_cur_scope->__pyx_v__get_memo_for_matching_names)) { __Pyx_RaiseClosureNameError("_get_memo_for_matching_names"); __PYX_ERR(0, 758, __pyx_L1_error) }
- __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_4copy__get_memo_for_matching_names(__pyx_cur_scope->__pyx_v__get_memo_for_matching_names, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_v__get_memo_for_matching_names)) { __Pyx_RaiseClosureNameError("_get_memo_for_matching_names"); __PYX_ERR(0, 868, __pyx_L1_error) }
+ __pyx_t_2 = __pyx_pf_19dependency_injector_10containers_4copy__get_memo_for_matching_names(__pyx_cur_scope->__pyx_v__get_memo_for_matching_names, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_sub_memo, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":759
+ /* "dependency_injector/containers.pyx":869
* if hasattr(new_provider, 'providers') and hasattr(source_provider, 'providers'):
* sub_memo = _get_memo_for_matching_names(new_provider.providers, source_provider.providers)
* memo.update(sub_memo) # <<<<<<<<<<<<<<
* return memo
*
*/
- __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_memo, __pyx_v_sub_memo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_memo, __pyx_v_sub_memo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":757
+ /* "dependency_injector/containers.pyx":867
* memo[id(source_provider)] = new_provider
*
* if hasattr(new_provider, 'providers') and hasattr(source_provider, 'providers'): # <<<<<<<<<<<<<<
@@ -18088,7 +20472,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
*/
}
- /* "dependency_injector/containers.pyx":751
+ /* "dependency_injector/containers.pyx":861
* def _get_memo_for_matching_names(new_providers, base_providers):
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers): # <<<<<<<<<<<<<<
@@ -18099,7 +20483,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/containers.pyx":760
+ /* "dependency_injector/containers.pyx":870
* sub_memo = _get_memo_for_matching_names(new_provider.providers, source_provider.providers)
* memo.update(sub_memo)
* return memo # <<<<<<<<<<<<<<
@@ -18111,7 +20495,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
__pyx_r = __pyx_v_memo;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":749
+ /* "dependency_injector/containers.pyx":859
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _get_memo_for_matching_names(new_providers, base_providers): # <<<<<<<<<<<<<<
@@ -18139,7 +20523,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy__get_memo_for
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":762
+/* "dependency_injector/containers.pyx":872
* return memo
*
* def _decorator(new_container): # <<<<<<<<<<<<<<
@@ -18187,66 +20571,66 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__pyx_outer_scope = (struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_10_copy *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
- /* "dependency_injector/containers.pyx":763
+ /* "dependency_injector/containers.pyx":873
*
* def _decorator(new_container):
* memo = {} # <<<<<<<<<<<<<<
* memo.update(_get_memo_for_matching_names(new_container.cls_providers, base_container.providers))
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_memo = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":764
+ /* "dependency_injector/containers.pyx":874
* def _decorator(new_container):
* memo = {}
* memo.update(_get_memo_for_matching_names(new_container.cls_providers, base_container.providers)) # <<<<<<<<<<<<<<
*
* new_providers = {}
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_container, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_container, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(!__pyx_cur_scope->__pyx_v_base_container)) { __Pyx_RaiseClosureNameError("base_container"); __PYX_ERR(0, 764, __pyx_L1_error) }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_base_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 764, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_v_base_container)) { __Pyx_RaiseClosureNameError("base_container"); __PYX_ERR(0, 874, __pyx_L1_error) }
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_base_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (unlikely(!__pyx_cur_scope->__pyx_v__get_memo_for_matching_names)) { __Pyx_RaiseClosureNameError("_get_memo_for_matching_names"); __PYX_ERR(0, 764, __pyx_L1_error) }
- __pyx_t_3 = __pyx_pf_19dependency_injector_10containers_4copy__get_memo_for_matching_names(__pyx_cur_scope->__pyx_v__get_memo_for_matching_names, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_v__get_memo_for_matching_names)) { __Pyx_RaiseClosureNameError("_get_memo_for_matching_names"); __PYX_ERR(0, 874, __pyx_L1_error) }
+ __pyx_t_3 = __pyx_pf_19dependency_injector_10containers_4copy__get_memo_for_matching_names(__pyx_cur_scope->__pyx_v__get_memo_for_matching_names, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_memo, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 764, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_memo, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":766
+ /* "dependency_injector/containers.pyx":876
* memo.update(_get_memo_for_matching_names(new_container.cls_providers, base_container.providers))
*
* new_providers = {} # <<<<<<<<<<<<<<
* new_providers.update(providers.deepcopy(base_container.providers, memo))
* new_providers.update(providers.deepcopy(new_container.cls_providers, memo))
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 766, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_new_providers = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":767
+ /* "dependency_injector/containers.pyx":877
*
* new_providers = {}
* new_providers.update(providers.deepcopy(base_container.providers, memo)) # <<<<<<<<<<<<<<
* new_providers.update(providers.deepcopy(new_container.cls_providers, memo))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_base_container)) { __Pyx_RaiseClosureNameError("base_container"); __PYX_ERR(0, 767, __pyx_L1_error) }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_base_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_v_base_container)) { __Pyx_RaiseClosureNameError("base_container"); __PYX_ERR(0, 877, __pyx_L1_error) }
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_base_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
@@ -18263,7 +20647,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -18272,14 +20656,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -18290,29 +20674,29 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_memo);
__pyx_t_3 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_new_providers, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_new_providers, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":768
+ /* "dependency_injector/containers.pyx":878
* new_providers = {}
* new_providers.update(providers.deepcopy(base_container.providers, memo))
* new_providers.update(providers.deepcopy(new_container.cls_providers, memo)) # <<<<<<<<<<<<<<
*
* for name, provider in six.iteritems(new_providers):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_container, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_container, __pyx_n_s_cls_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_5 = 0;
@@ -18329,7 +20713,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_2, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -18338,14 +20722,14 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_2, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -18356,26 +20740,26 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_memo);
__pyx_t_2 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_new_providers, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 768, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_new_providers, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 878, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":770
+ /* "dependency_injector/containers.pyx":880
* new_providers.update(providers.deepcopy(new_container.cls_providers, memo))
*
* for name, provider in six.iteritems(new_providers): # <<<<<<<<<<<<<<
* setattr(new_container, name, provider)
* return new_container
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_iteritems); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -18390,16 +20774,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
}
__pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_new_providers) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_new_providers);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 770, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 880, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
@@ -18407,17 +20791,17 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 880, __pyx_L1_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 880, __pyx_L1_error)
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
@@ -18427,7 +20811,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 770, __pyx_L1_error)
+ else __PYX_ERR(0, 880, __pyx_L1_error)
}
break;
}
@@ -18439,7 +20823,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 770, __pyx_L1_error)
+ __PYX_ERR(0, 880, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -18452,15 +20836,15 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_2);
#else
- __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 770, __pyx_L1_error)
+ __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext;
@@ -18468,7 +20852,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_GOTREF(__pyx_t_1);
index = 1; __pyx_t_2 = __pyx_t_9(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_3), 2) < 0) __PYX_ERR(0, 770, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_3), 2) < 0) __PYX_ERR(0, 880, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L6_unpacking_done;
@@ -18476,7 +20860,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 770, __pyx_L1_error)
+ __PYX_ERR(0, 880, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
@@ -18484,16 +20868,16 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/containers.pyx":771
+ /* "dependency_injector/containers.pyx":881
*
* for name, provider in six.iteritems(new_providers):
* setattr(new_container, name, provider) # <<<<<<<<<<<<<<
* return new_container
*
*/
- __pyx_t_10 = PyObject_SetAttr(__pyx_v_new_container, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 771, __pyx_L1_error)
+ __pyx_t_10 = PyObject_SetAttr(__pyx_v_new_container, __pyx_v_name, __pyx_v_provider); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 881, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":770
+ /* "dependency_injector/containers.pyx":880
* new_providers.update(providers.deepcopy(new_container.cls_providers, memo))
*
* for name, provider in six.iteritems(new_providers): # <<<<<<<<<<<<<<
@@ -18503,7 +20887,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":772
+ /* "dependency_injector/containers.pyx":882
* for name, provider in six.iteritems(new_providers):
* setattr(new_container, name, provider)
* return new_container # <<<<<<<<<<<<<<
@@ -18515,7 +20899,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
__pyx_r = __pyx_v_new_container;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":762
+ /* "dependency_injector/containers.pyx":872
* return memo
*
* def _decorator(new_container): # <<<<<<<<<<<<<<
@@ -18542,7 +20926,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_4copy_2_decorator(P
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":736
+/* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
@@ -18564,7 +20948,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_6copy(CYTHON_UNUSED
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_10_copy *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(0, 736, __pyx_L1_error)
+ __PYX_ERR(0, 846, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -18572,32 +20956,32 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_6copy(CYTHON_UNUSED
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_base_container);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_base_container);
- /* "dependency_injector/containers.pyx":749
+ /* "dependency_injector/containers.pyx":859
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _get_memo_for_matching_names(new_providers, base_providers): # <<<<<<<<<<<<<<
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers):
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_4copy_1_get_memo_for_matching_names, 0, __pyx_n_s_copy_locals__get_memo_for_matchi, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 749, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_4copy_1_get_memo_for_matching_names, 0, __pyx_n_s_copy_locals__get_memo_for_matchi, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v__get_memo_for_matching_names = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":762
+ /* "dependency_injector/containers.pyx":872
* return memo
*
* def _decorator(new_container): # <<<<<<<<<<<<<<
* memo = {}
* memo.update(_get_memo_for_matching_names(new_container.cls_providers, base_container.providers))
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_4copy_3_decorator, 0, __pyx_n_s_copy_locals__decorator, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_4copy_3_decorator, 0, __pyx_n_s_copy_locals__decorator, ((PyObject*)__pyx_cur_scope), __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v__decorator = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":774
+ /* "dependency_injector/containers.pyx":884
* return new_container
*
* return _decorator # <<<<<<<<<<<<<<
@@ -18609,7 +20993,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_6copy(CYTHON_UNUSED
__pyx_r = __pyx_v__decorator;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":736
+ /* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
@@ -18630,7 +21014,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_6copy(CYTHON_UNUSED
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":777
+/* "dependency_injector/containers.pyx":887
*
*
* cpdef bint is_container(object instance): # <<<<<<<<<<<<<<
@@ -18649,21 +21033,21 @@ static int __pyx_f_19dependency_injector_10containers_is_container(PyObject *__p
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container", 0);
- /* "dependency_injector/containers.pyx":785
+ /* "dependency_injector/containers.pyx":895
* :rtype: bool
* """
* return getattr(instance, '__IS_CONTAINER__', False) is True # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 785, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_True);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
goto __pyx_L0;
- /* "dependency_injector/containers.pyx":777
+ /* "dependency_injector/containers.pyx":887
*
*
* cpdef bint is_container(object instance): # <<<<<<<<<<<<<<
@@ -18704,7 +21088,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8is_container(CYTHO
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_10containers_is_container(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 777, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_10containers_is_container(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -18721,7 +21105,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_8is_container(CYTHO
return __pyx_r;
}
-/* "dependency_injector/containers.pyx":788
+/* "dependency_injector/containers.pyx":898
*
*
* cpdef object _check_provider_type(object container, object provider): # <<<<<<<<<<<<<<
@@ -18748,40 +21132,43 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_check_provider_type", 0);
- /* "dependency_injector/containers.pyx":789
+ /* "dependency_injector/containers.pyx":899
*
* cpdef object _check_provider_type(object container, object provider):
* if not isinstance(provider, container.provider_type): # <<<<<<<<<<<<<<
* raise errors.Error('{0} can contain only {1} '
* 'instances'.format(container, container.provider_type))
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 899, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 789, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 899, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/containers.pyx":790
+ /* "dependency_injector/containers.pyx":900
* cpdef object _check_provider_type(object container, object provider):
* if not isinstance(provider, container.provider_type):
* raise errors.Error('{0} can contain only {1} ' # <<<<<<<<<<<<<<
* 'instances'.format(container, container.provider_type))
+ *
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 790, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_errors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 790, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/containers.pyx":791
+ /* "dependency_injector/containers.pyx":901
* if not isinstance(provider, container.provider_type):
* raise errors.Error('{0} can contain only {1} '
* 'instances'.format(container, container.provider_type)) # <<<<<<<<<<<<<<
+ *
+ *
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_contain_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_contain_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_provider_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -18798,7 +21185,7 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_container, __pyx_t_7};
- __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -18807,14 +21194,14 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_container, __pyx_t_7};
- __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -18825,7 +21212,7 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_7);
__pyx_t_7 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -18843,14 +21230,14 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 790, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(0, 790, __pyx_L1_error)
+ __PYX_ERR(0, 900, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":789
+ /* "dependency_injector/containers.pyx":899
*
* cpdef object _check_provider_type(object container, object provider):
* if not isinstance(provider, container.provider_type): # <<<<<<<<<<<<<<
@@ -18859,7 +21246,7 @@ static PyObject *__pyx_f_19dependency_injector_10containers__check_provider_type
*/
}
- /* "dependency_injector/containers.pyx":788
+ /* "dependency_injector/containers.pyx":898
*
*
* cpdef object _check_provider_type(object container, object provider): # <<<<<<<<<<<<<<
@@ -18920,11 +21307,11 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_11_check_provider_t
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provider)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_check_provider_type", 1, 2, 2, 1); __PYX_ERR(0, 788, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_check_provider_type", 1, 2, 2, 1); __PYX_ERR(0, 898, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_check_provider_type") < 0)) __PYX_ERR(0, 788, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_check_provider_type") < 0)) __PYX_ERR(0, 898, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -18937,7 +21324,7 @@ static PyObject *__pyx_pw_19dependency_injector_10containers_11_check_provider_t
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_check_provider_type", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 788, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_check_provider_type", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 898, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.containers._check_provider_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -18959,7 +21346,7 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_10_check_provider_t
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_check_provider_type", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_container, __pyx_v_provider, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_10containers__check_provider_type(__pyx_v_container, __pyx_v_provider, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -18976,7 +21363,843 @@ static PyObject *__pyx_pf_19dependency_injector_10containers_10_check_provider_t
return __pyx_r;
}
-/* "providers.pxd":338
+/* "dependency_injector/containers.pyx":904
+ *
+ *
+ * cpdef bint _any_relative_string_imports_in(object modules): # <<<<<<<<<<<<<<
+ * for module in modules:
+ * if not isinstance(module, str):
+ */
+
+static PyObject *__pyx_pw_19dependency_injector_10containers_13_any_relative_string_imports_in(PyObject *__pyx_self, PyObject *__pyx_v_modules); /*proto*/
+static int __pyx_f_19dependency_injector_10containers__any_relative_string_imports_in(PyObject *__pyx_v_modules, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_module = NULL;
+ int __pyx_r;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ Py_ssize_t __pyx_t_2;
+ PyObject *(*__pyx_t_3)(PyObject *);
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_t_5;
+ int __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_any_relative_string_imports_in", 0);
+
+ /* "dependency_injector/containers.pyx":905
+ *
+ * cpdef bint _any_relative_string_imports_in(object modules):
+ * for module in modules: # <<<<<<<<<<<<<<
+ * if not isinstance(module, str):
+ * continue
+ */
+ if (likely(PyList_CheckExact(__pyx_v_modules)) || PyTuple_CheckExact(__pyx_v_modules)) {
+ __pyx_t_1 = __pyx_v_modules; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+ __pyx_t_3 = NULL;
+ } else {
+ __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_modules); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 905, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 905, __pyx_L1_error)
+ }
+ for (;;) {
+ if (likely(!__pyx_t_3)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 905, __pyx_L1_error)
+ #else
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 905, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ #endif
+ } else {
+ if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 905, __pyx_L1_error)
+ #else
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 905, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ #endif
+ }
+ } else {
+ __pyx_t_4 = __pyx_t_3(__pyx_t_1);
+ if (unlikely(!__pyx_t_4)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(0, 905, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_4);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_module, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/containers.pyx":906
+ * cpdef bint _any_relative_string_imports_in(object modules):
+ * for module in modules:
+ * if not isinstance(module, str): # <<<<<<<<<<<<<<
+ * continue
+ * if module.startswith("."):
+ */
+ __pyx_t_5 = PyString_Check(__pyx_v_module);
+ __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
+ if (__pyx_t_6) {
+
+ /* "dependency_injector/containers.pyx":907
+ * for module in modules:
+ * if not isinstance(module, str):
+ * continue # <<<<<<<<<<<<<<
+ * if module.startswith("."):
+ * return True
+ */
+ goto __pyx_L3_continue;
+
+ /* "dependency_injector/containers.pyx":906
+ * cpdef bint _any_relative_string_imports_in(object modules):
+ * for module in modules:
+ * if not isinstance(module, str): # <<<<<<<<<<<<<<
+ * continue
+ * if module.startswith("."):
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":908
+ * if not isinstance(module, str):
+ * continue
+ * if module.startswith("."): # <<<<<<<<<<<<<<
+ * return True
+ * else:
+ */
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_module, __pyx_n_s_startswith); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 908, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_8 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_kp_s__21) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_kp_s__21);
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 908, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 908, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (__pyx_t_6) {
+
+ /* "dependency_injector/containers.pyx":909
+ * continue
+ * if module.startswith("."):
+ * return True # <<<<<<<<<<<<<<
+ * else:
+ * return False
+ */
+ __pyx_r = 1;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":908
+ * if not isinstance(module, str):
+ * continue
+ * if module.startswith("."): # <<<<<<<<<<<<<<
+ * return True
+ * else:
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":905
+ *
+ * cpdef bint _any_relative_string_imports_in(object modules):
+ * for module in modules: # <<<<<<<<<<<<<<
+ * if not isinstance(module, str):
+ * continue
+ */
+ __pyx_L3_continue:;
+ }
+ /*else*/ {
+
+ /* "dependency_injector/containers.pyx":911
+ * return True
+ * else:
+ * return False # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __pyx_r = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ goto __pyx_L0;
+ }
+
+ /* "dependency_injector/containers.pyx":905
+ *
+ * cpdef bint _any_relative_string_imports_in(object modules):
+ * for module in modules: # <<<<<<<<<<<<<<
+ * if not isinstance(module, str):
+ * continue
+ */
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":904
+ *
+ *
+ * cpdef bint _any_relative_string_imports_in(object modules): # <<<<<<<<<<<<<<
+ * for module in modules:
+ * if not isinstance(module, str):
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_WriteUnraisable("dependency_injector.containers._any_relative_string_imports_in", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_module);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_13_any_relative_string_imports_in(PyObject *__pyx_self, PyObject *__pyx_v_modules); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_10containers_13_any_relative_string_imports_in(PyObject *__pyx_self, PyObject *__pyx_v_modules) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("_any_relative_string_imports_in (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_12_any_relative_string_imports_in(__pyx_self, ((PyObject *)__pyx_v_modules));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_12_any_relative_string_imports_in(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_modules) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_any_relative_string_imports_in", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_10containers__any_relative_string_imports_in(__pyx_v_modules, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.containers._any_relative_string_imports_in", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":914
+ *
+ *
+ * cpdef list _resolve_string_imports(object modules, object from_package): # <<<<<<<<<<<<<<
+ * return [
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module
+ */
+
+static PyObject *__pyx_pw_19dependency_injector_10containers_15_resolve_string_imports(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_string_imports(PyObject *__pyx_v_modules, PyObject *__pyx_v_from_package, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_module = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ Py_ssize_t __pyx_t_3;
+ PyObject *(*__pyx_t_4)(PyObject *);
+ PyObject *__pyx_t_5 = NULL;
+ int __pyx_t_6;
+ PyObject *__pyx_t_7 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ PyObject *__pyx_t_9 = NULL;
+ int __pyx_t_10;
+ PyObject *__pyx_t_11 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_string_imports", 0);
+
+ /* "dependency_injector/containers.pyx":915
+ *
+ * cpdef list _resolve_string_imports(object modules, object from_package):
+ * return [ # <<<<<<<<<<<<<<
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module
+ * for module in modules
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+
+ /* "dependency_injector/containers.pyx":917
+ * return [
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module
+ * for module in modules # <<<<<<<<<<<<<<
+ * ]
+ *
+ */
+ if (likely(PyList_CheckExact(__pyx_v_modules)) || PyTuple_CheckExact(__pyx_v_modules)) {
+ __pyx_t_2 = __pyx_v_modules; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+ __pyx_t_4 = NULL;
+ } else {
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_modules); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 917, __pyx_L1_error)
+ }
+ for (;;) {
+ if (likely(!__pyx_t_4)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 917, __pyx_L1_error)
+ #else
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ #endif
+ } else {
+ if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 917, __pyx_L1_error)
+ #else
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ #endif
+ }
+ } else {
+ __pyx_t_5 = __pyx_t_4(__pyx_t_2);
+ if (unlikely(!__pyx_t_5)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(0, 917, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_5);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_module, __pyx_t_5);
+ __pyx_t_5 = 0;
+
+ /* "dependency_injector/containers.pyx":916
+ * cpdef list _resolve_string_imports(object modules, object from_package):
+ * return [
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module # <<<<<<<<<<<<<<
+ * for module in modules
+ * ]
+ */
+ __pyx_t_6 = PyString_Check(__pyx_v_module);
+ if ((__pyx_t_6 != 0)) {
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_importlib); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_import_module); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = NULL;
+ __pyx_t_10 = 0;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
+ if (likely(__pyx_t_8)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_8);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_9, function);
+ __pyx_t_10 = 1;
+ }
+ }
+ #if CYTHON_FAST_PYCALL
+ if (PyFunction_Check(__pyx_t_9)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_module, __pyx_v_from_package};
+ __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_GOTREF(__pyx_t_7);
+ } else
+ #endif
+ #if CYTHON_FAST_PYCCALL
+ if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_module, __pyx_v_from_package};
+ __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __Pyx_GOTREF(__pyx_t_7);
+ } else
+ #endif
+ {
+ __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_11);
+ if (__pyx_t_8) {
+ __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_8); __pyx_t_8 = NULL;
+ }
+ __Pyx_INCREF(__pyx_v_module);
+ __Pyx_GIVEREF(__pyx_v_module);
+ PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_module);
+ __Pyx_INCREF(__pyx_v_from_package);
+ __Pyx_GIVEREF(__pyx_v_from_package);
+ PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_from_package);
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+ }
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_5 = __pyx_t_7;
+ __pyx_t_7 = 0;
+ } else {
+ __Pyx_INCREF(__pyx_v_module);
+ __pyx_t_5 = __pyx_v_module;
+ }
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 915, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+ /* "dependency_injector/containers.pyx":917
+ * return [
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module
+ * for module in modules # <<<<<<<<<<<<<<
+ * ]
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":914
+ *
+ *
+ * cpdef list _resolve_string_imports(object modules, object from_package): # <<<<<<<<<<<<<<
+ * return [
+ * importlib.import_module(module, from_package) if isinstance(module, str) else module
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_8);
+ __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_11);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_string_imports", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_module);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_15_resolve_string_imports(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_10containers_15_resolve_string_imports(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_modules = 0;
+ PyObject *__pyx_v_from_package = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("_resolve_string_imports (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_modules,&__pyx_n_s_from_package,0};
+ PyObject* values[2] = {0,0};
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_modules)) != 0)) kw_args--;
+ else goto __pyx_L5_argtuple_error;
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from_package)) != 0)) kw_args--;
+ else {
+ __Pyx_RaiseArgtupleInvalid("_resolve_string_imports", 1, 2, 2, 1); __PYX_ERR(0, 914, __pyx_L3_error)
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_resolve_string_imports") < 0)) __PYX_ERR(0, 914, __pyx_L3_error)
+ }
+ } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+ goto __pyx_L5_argtuple_error;
+ } else {
+ values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ }
+ __pyx_v_modules = values[0];
+ __pyx_v_from_package = values[1];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("_resolve_string_imports", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 914, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_string_imports", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_14_resolve_string_imports(__pyx_self, __pyx_v_modules, __pyx_v_from_package);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_14_resolve_string_imports(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_modules, PyObject *__pyx_v_from_package) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_string_imports", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_19dependency_injector_10containers__resolve_string_imports(__pyx_v_modules, __pyx_v_from_package, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 914, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_string_imports", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":921
+ *
+ *
+ * cpdef object _resolve_calling_package_name(): # <<<<<<<<<<<<<<
+ * stack = inspect.stack()
+ * pre_last_frame = stack[0]
+ */
+
+static PyObject *__pyx_pw_19dependency_injector_10containers_17_resolve_calling_package_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_calling_package_name(CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_stack = NULL;
+ PyObject *__pyx_v_pre_last_frame = NULL;
+ PyObject *__pyx_v_module = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_calling_package_name", 0);
+
+ /* "dependency_injector/containers.pyx":922
+ *
+ * cpdef object _resolve_calling_package_name():
+ * stack = inspect.stack() # <<<<<<<<<<<<<<
+ * pre_last_frame = stack[0]
+ * module = inspect.getmodule(pre_last_frame[0])
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_inspect); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stack); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_stack = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":923
+ * cpdef object _resolve_calling_package_name():
+ * stack = inspect.stack()
+ * pre_last_frame = stack[0] # <<<<<<<<<<<<<<
+ * module = inspect.getmodule(pre_last_frame[0])
+ * return module.__package__
+ */
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_stack, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 923, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_v_pre_last_frame = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":924
+ * stack = inspect.stack()
+ * pre_last_frame = stack[0]
+ * module = inspect.getmodule(pre_last_frame[0]) # <<<<<<<<<<<<<<
+ * return module.__package__
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_inspect); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getmodule); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 924, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pre_last_frame, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 924, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_module = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":925
+ * pre_last_frame = stack[0]
+ * module = inspect.getmodule(pre_last_frame[0])
+ * return module.__package__ # <<<<<<<<<<<<<<
+ *
+ *
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_module, __pyx_n_s_package); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":921
+ *
+ *
+ * cpdef object _resolve_calling_package_name(): # <<<<<<<<<<<<<<
+ * stack = inspect.stack()
+ * pre_last_frame = stack[0]
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_calling_package_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_stack);
+ __Pyx_XDECREF(__pyx_v_pre_last_frame);
+ __Pyx_XDECREF(__pyx_v_module);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_17_resolve_calling_package_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_10containers_17_resolve_calling_package_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("_resolve_calling_package_name (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_16_resolve_calling_package_name(__pyx_self);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_16_resolve_calling_package_name(CYTHON_UNUSED PyObject *__pyx_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_calling_package_name", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_19dependency_injector_10containers__resolve_calling_package_name(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 921, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_calling_package_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/containers.pyx":928
+ *
+ *
+ * cpdef object _resolve_package_name_from_cls(cls): # <<<<<<<<<<<<<<
+ * module = importlib.import_module(cls.__module__)
+ * return module.__package__
+ */
+
+static PyObject *__pyx_pw_19dependency_injector_10containers_19_resolve_package_name_from_cls(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/
+static PyObject *__pyx_f_19dependency_injector_10containers__resolve_package_name_from_cls(PyObject *__pyx_v_cls, CYTHON_UNUSED int __pyx_skip_dispatch) {
+ PyObject *__pyx_v_module = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_package_name_from_cls", 0);
+
+ /* "dependency_injector/containers.pyx":929
+ *
+ * cpdef object _resolve_package_name_from_cls(cls):
+ * module = importlib.import_module(cls.__module__) # <<<<<<<<<<<<<<
+ * return module.__package__
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_importlib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_import_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 929, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_module); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_4)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_4);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_module = __pyx_t_1;
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":930
+ * cpdef object _resolve_package_name_from_cls(cls):
+ * module = importlib.import_module(cls.__module__)
+ * return module.__package__ # <<<<<<<<<<<<<<
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_module, __pyx_n_s_package); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 930, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/containers.pyx":928
+ *
+ *
+ * cpdef object _resolve_package_name_from_cls(cls): # <<<<<<<<<<<<<<
+ * module = importlib.import_module(cls.__module__)
+ * return module.__package__
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_package_name_from_cls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = 0;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_module);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_10containers_19_resolve_package_name_from_cls(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_10containers_19_resolve_package_name_from_cls(PyObject *__pyx_self, PyObject *__pyx_v_cls) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("_resolve_package_name_from_cls (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_10containers_18_resolve_package_name_from_cls(__pyx_self, ((PyObject *)__pyx_v_cls));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_10containers_18_resolve_package_name_from_cls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("_resolve_package_name_from_cls", 0);
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = __pyx_f_19dependency_injector_10containers__resolve_package_name_from_cls(__pyx_v_cls, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 928, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.containers._resolve_package_name_from_cls", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "providers.pxd":341
*
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self): # <<<<<<<<<<<<<<
@@ -18989,7 +22212,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get_name", 0);
- /* "providers.pxd":339
+ /* "providers.pxd":342
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self):
* return self.__name # <<<<<<<<<<<<<<
@@ -19001,7 +22224,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "providers.pxd":338
+ /* "providers.pxd":341
*
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self): # <<<<<<<<<<<<<<
@@ -19016,7 +22239,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
return __pyx_r;
}
-/* "providers.pxd":342
+/* "providers.pxd":345
*
*
* cdef inline object __get_value(Injection self): # <<<<<<<<<<<<<<
@@ -19036,7 +22259,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get_value", 0);
- /* "providers.pxd":343
+ /* "providers.pxd":346
*
* cdef inline object __get_value(Injection self):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -19046,7 +22269,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_t_1 = ((__pyx_v_self->__pyx___call == 0) != 0);
if (__pyx_t_1) {
- /* "providers.pxd":344
+ /* "providers.pxd":347
* cdef inline object __get_value(Injection self):
* if self.__call == 0:
* return self.__value # <<<<<<<<<<<<<<
@@ -19058,7 +22281,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_r = __pyx_v_self->__pyx___value;
goto __pyx_L0;
- /* "providers.pxd":343
+ /* "providers.pxd":346
*
* cdef inline object __get_value(Injection self):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -19067,7 +22290,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
*/
}
- /* "providers.pxd":345
+ /* "providers.pxd":348
* if self.__call == 0:
* return self.__value
* return self.__value() # <<<<<<<<<<<<<<
@@ -19088,14 +22311,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 345, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "providers.pxd":342
+ /* "providers.pxd":345
*
*
* cdef inline object __get_value(Injection self): # <<<<<<<<<<<<<<
@@ -19116,7 +22339,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
return __pyx_r;
}
-/* "providers.pxd":348
+/* "providers.pxd":351
*
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs): # <<<<<<<<<<<<<<
@@ -19129,12 +22352,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__Pyx_RefNannyDeclarations
int __pyx_t_1;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get_value_kwargs", 0);
- /* "providers.pxd":349
+ /* "providers.pxd":352
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -19144,7 +22368,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_t_1 = ((__pyx_v_self->__pyx___call == 0) != 0);
if (__pyx_t_1) {
- /* "providers.pxd":350
+ /* "providers.pxd":353
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0:
* return self.__value # <<<<<<<<<<<<<<
@@ -19156,7 +22380,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_r = __pyx_v_self->__pyx___value;
goto __pyx_L0;
- /* "providers.pxd":349
+ /* "providers.pxd":352
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -19165,7 +22389,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
*/
}
- /* "providers.pxd":351
+ /* "providers.pxd":354
* if self.__call == 0:
* return self.__value
* return self.__value(**kwargs) # <<<<<<<<<<<<<<
@@ -19175,15 +22399,18 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 351, __pyx_L1_error)
+ __PYX_ERR(1, 354, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___value, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 351, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___value, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 354, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "providers.pxd":348
+ /* "providers.pxd":351
*
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs): # <<<<<<<<<<<<<<
@@ -19194,6 +22421,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.__get_value_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
@@ -19202,7 +22430,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
return __pyx_r;
}
-/* "providers.pxd":354
+/* "providers.pxd":357
*
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs): # <<<<<<<<<<<<<<
@@ -19235,31 +22463,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__separate_prefixed_kwargs", 0);
- /* "providers.pxd":355
+ /* "providers.pxd":358
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
* cdef dict plain_kwargs = {} # <<<<<<<<<<<<<<
* cdef dict prefixed_kwargs = {}
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 355, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_plain_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":356
+ /* "providers.pxd":359
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
* cdef dict plain_kwargs = {}
* cdef dict prefixed_kwargs = {} # <<<<<<<<<<<<<<
*
* for key, value in kwargs.items():
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 356, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_prefixed_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":358
+ /* "providers.pxd":361
* cdef dict prefixed_kwargs = {}
*
* for key, value in kwargs.items(): # <<<<<<<<<<<<<<
@@ -19268,17 +22496,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(1, 358, __pyx_L1_error)
+ __PYX_ERR(1, 361, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 361, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -19286,17 +22514,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 361, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 361, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -19306,7 +22534,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 358, __pyx_L1_error)
+ else __PYX_ERR(1, 361, __pyx_L1_error)
}
break;
}
@@ -19318,7 +22546,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 358, __pyx_L1_error)
+ __PYX_ERR(1, 361, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -19331,15 +22559,15 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -19347,7 +22575,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 358, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 361, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -19355,7 +22583,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 358, __pyx_L1_error)
+ __PYX_ERR(1, 361, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5);
@@ -19363,27 +22591,27 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "providers.pxd":359
+ /* "providers.pxd":362
*
* for key, value in kwargs.items():
* if '__' not in key: # <<<<<<<<<<<<<<
* plain_kwargs[key] = value
* continue
*/
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s__21, __pyx_v_key, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 359, __pyx_L1_error)
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s__22, __pyx_v_key, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 362, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "providers.pxd":360
+ /* "providers.pxd":363
* for key, value in kwargs.items():
* if '__' not in key:
* plain_kwargs[key] = value # <<<<<<<<<<<<<<
* continue
*
*/
- if (unlikely(PyDict_SetItem(__pyx_v_plain_kwargs, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 360, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_plain_kwargs, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 363, __pyx_L1_error)
- /* "providers.pxd":361
+ /* "providers.pxd":364
* if '__' not in key:
* plain_kwargs[key] = value
* continue # <<<<<<<<<<<<<<
@@ -19392,7 +22620,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
goto __pyx_L3_continue;
- /* "providers.pxd":359
+ /* "providers.pxd":362
*
* for key, value in kwargs.items():
* if '__' not in key: # <<<<<<<<<<<<<<
@@ -19401,14 +22629,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
}
- /* "providers.pxd":363
+ /* "providers.pxd":366
* continue
*
* index = key.index('__') # <<<<<<<<<<<<<<
* prefix, name = key[:index], key[index+2:]
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 363, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -19420,26 +22648,26 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
- __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_n_s__21) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s__21);
+ __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_n_s__22) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s__22);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 363, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":364
+ /* "providers.pxd":367
*
* index = key.index('__')
* prefix, name = key[:index], key[index+2:] # <<<<<<<<<<<<<<
*
* if prefix not in prefixed_kwargs:
*/
- __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, NULL, &__pyx_v_index, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 364, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, NULL, &__pyx_v_index, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_index, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 364, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_index, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, &__pyx_t_6, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 364, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, &__pyx_t_6, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_1);
@@ -19447,30 +22675,30 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
__pyx_t_5 = 0;
- /* "providers.pxd":366
+ /* "providers.pxd":369
* prefix, name = key[:index], key[index+2:]
*
* if prefix not in prefixed_kwargs: # <<<<<<<<<<<<<<
* prefixed_kwargs[prefix] = {}
* prefixed_kwargs[prefix][name] = value
*/
- __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_prefix, __pyx_v_prefixed_kwargs, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 366, __pyx_L1_error)
+ __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_prefix, __pyx_v_prefixed_kwargs, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 369, __pyx_L1_error)
__pyx_t_9 = (__pyx_t_10 != 0);
if (__pyx_t_9) {
- /* "providers.pxd":367
+ /* "providers.pxd":370
*
* if prefix not in prefixed_kwargs:
* prefixed_kwargs[prefix] = {} # <<<<<<<<<<<<<<
* prefixed_kwargs[prefix][name] = value
*
*/
- __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 367, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (unlikely(PyDict_SetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix, __pyx_t_5) < 0)) __PYX_ERR(1, 367, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix, __pyx_t_5) < 0)) __PYX_ERR(1, 370, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "providers.pxd":366
+ /* "providers.pxd":369
* prefix, name = key[:index], key[index+2:]
*
* if prefix not in prefixed_kwargs: # <<<<<<<<<<<<<<
@@ -19479,19 +22707,19 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
}
- /* "providers.pxd":368
+ /* "providers.pxd":371
* if prefix not in prefixed_kwargs:
* prefixed_kwargs[prefix] = {}
* prefixed_kwargs[prefix][name] = value # <<<<<<<<<<<<<<
*
* return plain_kwargs, prefixed_kwargs
*/
- __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 368, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 371, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 368, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 371, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "providers.pxd":358
+ /* "providers.pxd":361
* cdef dict prefixed_kwargs = {}
*
* for key, value in kwargs.items(): # <<<<<<<<<<<<<<
@@ -19502,7 +22730,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "providers.pxd":370
+ /* "providers.pxd":373
* prefixed_kwargs[prefix][name] = value
*
* return plain_kwargs, prefixed_kwargs # <<<<<<<<<<<<<<
@@ -19510,7 +22738,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 370, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_plain_kwargs);
__Pyx_GIVEREF(__pyx_v_plain_kwargs);
@@ -19522,7 +22750,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "providers.pxd":354
+ /* "providers.pxd":357
*
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs): # <<<<<<<<<<<<<<
@@ -19552,7 +22780,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
return __pyx_r;
}
-/* "providers.pxd":375
+/* "providers.pxd":378
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_positional_args( # <<<<<<<<<<<<<<
@@ -19580,31 +22808,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__provide_positional_args", 0);
- /* "providers.pxd":381
+ /* "providers.pxd":384
* ):
* cdef int index
* cdef list positional_args = [] # <<<<<<<<<<<<<<
* cdef list future_args = []
* cdef PositionalInjection injection
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 381, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_positional_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":382
+ /* "providers.pxd":385
* cdef int index
* cdef list positional_args = []
* cdef list future_args = [] # <<<<<<<<<<<<<<
* cdef PositionalInjection injection
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 382, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 385, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":385
+ /* "providers.pxd":388
* cdef PositionalInjection injection
*
* if inj_args_len == 0: # <<<<<<<<<<<<<<
@@ -19614,7 +22842,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = ((__pyx_v_inj_args_len == 0) != 0);
if (__pyx_t_2) {
- /* "providers.pxd":386
+ /* "providers.pxd":389
*
* if inj_args_len == 0:
* return args # <<<<<<<<<<<<<<
@@ -19626,7 +22854,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_args;
goto __pyx_L0;
- /* "providers.pxd":385
+ /* "providers.pxd":388
* cdef PositionalInjection injection
*
* if inj_args_len == 0: # <<<<<<<<<<<<<<
@@ -19635,7 +22863,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "providers.pxd":388
+ /* "providers.pxd":391
* return args
*
* for index in range(inj_args_len): # <<<<<<<<<<<<<<
@@ -19647,7 +22875,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
__pyx_v_index = __pyx_t_5;
- /* "providers.pxd":389
+ /* "providers.pxd":392
*
* for index in range(inj_args_len):
* injection = inj_args[index] # <<<<<<<<<<<<<<
@@ -19656,35 +22884,35 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 389, __pyx_L1_error)
+ __PYX_ERR(1, 392, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_args, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "providers.pxd":390
+ /* "providers.pxd":393
* for index in range(inj_args_len):
* injection = inj_args[index]
* value = __get_value(injection) # <<<<<<<<<<<<<<
* positional_args.append(value)
*
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 390, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 393, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":391
+ /* "providers.pxd":394
* injection = inj_args[index]
* value = __get_value(injection)
* positional_args.append(value) # <<<<<<<<<<<<<<
*
* if __is_future_or_coroutine(value):
*/
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_positional_args, __pyx_v_value); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 391, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_positional_args, __pyx_v_value); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 394, __pyx_L1_error)
- /* "providers.pxd":393
+ /* "providers.pxd":396
* positional_args.append(value)
*
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -19694,16 +22922,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_2) {
- /* "providers.pxd":394
+ /* "providers.pxd":397
*
* if __is_future_or_coroutine(value):
* future_args.append((index, value)) # <<<<<<<<<<<<<<
*
* positional_args.extend(args)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 394, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 394, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
@@ -19711,10 +22939,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_value);
__pyx_t_1 = 0;
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_args, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 394, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_args, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 397, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "providers.pxd":393
+ /* "providers.pxd":396
* positional_args.append(value)
*
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -19724,16 +22952,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "providers.pxd":396
+ /* "providers.pxd":399
* future_args.append((index, value))
*
* positional_args.extend(args) # <<<<<<<<<<<<<<
*
* if future_args:
*/
- __pyx_t_6 = __Pyx_PyList_Extend(__pyx_v_positional_args, __pyx_v_args); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 396, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Extend(__pyx_v_positional_args, __pyx_v_args); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 399, __pyx_L1_error)
- /* "providers.pxd":398
+ /* "providers.pxd":401
* positional_args.extend(args)
*
* if future_args: # <<<<<<<<<<<<<<
@@ -19743,7 +22971,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = (PyList_GET_SIZE(__pyx_v_future_args) != 0);
if (__pyx_t_2) {
- /* "providers.pxd":399
+ /* "providers.pxd":402
*
* if future_args:
* return __combine_future_injections(positional_args, future_args) # <<<<<<<<<<<<<<
@@ -19751,13 +22979,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return positional_args
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_7 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_positional_args, __pyx_v_future_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 399, __pyx_L1_error)
+ __pyx_t_7 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_positional_args, __pyx_v_future_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_r = __pyx_t_7;
__pyx_t_7 = 0;
goto __pyx_L0;
- /* "providers.pxd":398
+ /* "providers.pxd":401
* positional_args.extend(args)
*
* if future_args: # <<<<<<<<<<<<<<
@@ -19766,7 +22994,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "providers.pxd":401
+ /* "providers.pxd":404
* return __combine_future_injections(positional_args, future_args)
*
* return positional_args # <<<<<<<<<<<<<<
@@ -19778,7 +23006,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_positional_args;
goto __pyx_L0;
- /* "providers.pxd":375
+ /* "providers.pxd":378
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_positional_args( # <<<<<<<<<<<<<<
@@ -19802,7 +23030,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "providers.pxd":406
+/* "providers.pxd":409
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_keyword_args( # <<<<<<<<<<<<<<
@@ -19835,31 +23063,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_RefNannySetupContext("__provide_keyword_args", 0);
__Pyx_INCREF(__pyx_v_kwargs);
- /* "providers.pxd":414
+ /* "providers.pxd":417
* cdef object name
* cdef object value
* cdef dict prefixed = {} # <<<<<<<<<<<<<<
* cdef list future_kwargs = []
* cdef NamedInjection kw_injection
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_prefixed = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":415
+ /* "providers.pxd":418
* cdef object value
* cdef dict prefixed = {}
* cdef list future_kwargs = [] # <<<<<<<<<<<<<<
* cdef NamedInjection kw_injection
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 415, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":418
+ /* "providers.pxd":421
* cdef NamedInjection kw_injection
*
* if len(kwargs) == 0: # <<<<<<<<<<<<<<
@@ -19868,13 +23096,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 418, __pyx_L1_error)
+ __PYX_ERR(1, 421, __pyx_L1_error)
}
- __pyx_t_2 = PyDict_Size(__pyx_v_kwargs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 418, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Size(__pyx_v_kwargs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 421, __pyx_L1_error)
__pyx_t_3 = ((__pyx_t_2 == 0) != 0);
if (__pyx_t_3) {
- /* "providers.pxd":419
+ /* "providers.pxd":422
*
* if len(kwargs) == 0:
* for index in range(inj_kwargs_len): # <<<<<<<<<<<<<<
@@ -19886,7 +23114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
__pyx_v_index = __pyx_t_6;
- /* "providers.pxd":420
+ /* "providers.pxd":423
* if len(kwargs) == 0:
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index] # <<<<<<<<<<<<<<
@@ -19895,38 +23123,38 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 420, __pyx_L1_error)
+ __PYX_ERR(1, 423, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_kwargs, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_kw_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "providers.pxd":421
+ /* "providers.pxd":424
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection) # <<<<<<<<<<<<<<
* value = __get_value(kw_injection)
* kwargs[name] = value
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 421, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 424, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":422
+ /* "providers.pxd":425
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection)
* value = __get_value(kw_injection) # <<<<<<<<<<<<<<
* kwargs[name] = value
* if __is_future_or_coroutine(value):
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 422, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":423
+ /* "providers.pxd":426
* name = __get_name(kw_injection)
* value = __get_value(kw_injection)
* kwargs[name] = value # <<<<<<<<<<<<<<
@@ -19935,11 +23163,11 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 423, __pyx_L1_error)
+ __PYX_ERR(1, 426, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 423, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 426, __pyx_L1_error)
- /* "providers.pxd":424
+ /* "providers.pxd":427
* value = __get_value(kw_injection)
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -19949,14 +23177,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_3) {
- /* "providers.pxd":425
+ /* "providers.pxd":428
* kwargs[name] = value
* if __is_future_or_coroutine(value):
* future_kwargs.append((name, value)) # <<<<<<<<<<<<<<
* else:
* kwargs, prefixed = __separate_prefixed_kwargs(kwargs)
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 425, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -19964,10 +23192,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
- __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 425, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 428, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":424
+ /* "providers.pxd":427
* value = __get_value(kw_injection)
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -19977,7 +23205,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "providers.pxd":418
+ /* "providers.pxd":421
* cdef NamedInjection kw_injection
*
* if len(kwargs) == 0: # <<<<<<<<<<<<<<
@@ -19987,7 +23215,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
goto __pyx_L3;
}
- /* "providers.pxd":427
+ /* "providers.pxd":430
* future_kwargs.append((name, value))
* else:
* kwargs, prefixed = __separate_prefixed_kwargs(kwargs) # <<<<<<<<<<<<<<
@@ -19995,7 +23223,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*
*/
/*else*/ {
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___separate_prefixed_kwargs(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 427, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___separate_prefixed_kwargs(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(__pyx_t_1 != Py_None)) {
PyObject* sequence = __pyx_t_1;
@@ -20003,7 +23231,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 427, __pyx_L1_error)
+ __PYX_ERR(1, 430, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
@@ -20011,23 +23239,23 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(__pyx_t_9);
#else
- __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 427, __pyx_L1_error)
+ __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 427, __pyx_L1_error)
+ __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 427, __pyx_L1_error)
+ __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 430, __pyx_L1_error)
}
- if (!(likely(PyDict_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(1, 427, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 427, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(1, 430, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 430, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_8));
__pyx_t_8 = 0;
__Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_9));
__pyx_t_9 = 0;
- /* "providers.pxd":430
+ /* "providers.pxd":433
*
*
* for index in range(inj_kwargs_len): # <<<<<<<<<<<<<<
@@ -20039,7 +23267,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
__pyx_v_index = __pyx_t_6;
- /* "providers.pxd":431
+ /* "providers.pxd":434
*
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index] # <<<<<<<<<<<<<<
@@ -20048,26 +23276,26 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 431, __pyx_L1_error)
+ __PYX_ERR(1, 434, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_kwargs, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_kw_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "providers.pxd":432
+ /* "providers.pxd":435
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection) # <<<<<<<<<<<<<<
*
* if name in kwargs:
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 432, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 435, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":434
+ /* "providers.pxd":437
* name = __get_name(kw_injection)
*
* if name in kwargs: # <<<<<<<<<<<<<<
@@ -20076,13 +23304,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 434, __pyx_L1_error)
+ __PYX_ERR(1, 437, __pyx_L1_error)
}
- __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 434, __pyx_L1_error)
+ __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 437, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_3 != 0);
if (__pyx_t_10) {
- /* "providers.pxd":435
+ /* "providers.pxd":438
*
* if name in kwargs:
* continue # <<<<<<<<<<<<<<
@@ -20091,7 +23319,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
goto __pyx_L7_continue;
- /* "providers.pxd":434
+ /* "providers.pxd":437
* name = __get_name(kw_injection)
*
* if name in kwargs: # <<<<<<<<<<<<<<
@@ -20100,7 +23328,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "providers.pxd":437
+ /* "providers.pxd":440
* continue
*
* if name in prefixed: # <<<<<<<<<<<<<<
@@ -20109,13 +23337,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_prefixed == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 437, __pyx_L1_error)
+ __PYX_ERR(1, 440, __pyx_L1_error)
}
- __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_prefixed, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 437, __pyx_L1_error)
+ __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_prefixed, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 440, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_10 != 0);
if (__pyx_t_3) {
- /* "providers.pxd":438
+ /* "providers.pxd":441
*
* if name in prefixed:
* value = __get_value_kwargs(kw_injection, prefixed[name]) # <<<<<<<<<<<<<<
@@ -20124,18 +23352,18 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_prefixed == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 438, __pyx_L1_error)
+ __PYX_ERR(1, 441, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 438, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 441, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 438, __pyx_L1_error)
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 438, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 441, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 441, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_9);
__pyx_t_9 = 0;
- /* "providers.pxd":437
+ /* "providers.pxd":440
* continue
*
* if name in prefixed: # <<<<<<<<<<<<<<
@@ -20145,7 +23373,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
goto __pyx_L10;
}
- /* "providers.pxd":440
+ /* "providers.pxd":443
* value = __get_value_kwargs(kw_injection, prefixed[name])
* else:
* value = __get_value(kw_injection) # <<<<<<<<<<<<<<
@@ -20153,14 +23381,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* kwargs[name] = value
*/
/*else*/ {
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 440, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_9);
__pyx_t_9 = 0;
}
__pyx_L10:;
- /* "providers.pxd":442
+ /* "providers.pxd":445
* value = __get_value(kw_injection)
*
* kwargs[name] = value # <<<<<<<<<<<<<<
@@ -20169,11 +23397,11 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 442, __pyx_L1_error)
+ __PYX_ERR(1, 445, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 442, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 445, __pyx_L1_error)
- /* "providers.pxd":443
+ /* "providers.pxd":446
*
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -20183,14 +23411,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_3) {
- /* "providers.pxd":444
+ /* "providers.pxd":447
* kwargs[name] = value
* if __is_future_or_coroutine(value):
* future_kwargs.append((name, value)) # <<<<<<<<<<<<<<
*
* if future_kwargs:
*/
- __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 444, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 447, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -20198,10 +23426,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_value);
- __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_9); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 444, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_9); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 447, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "providers.pxd":443
+ /* "providers.pxd":446
*
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -20214,7 +23442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
__pyx_L3:;
- /* "providers.pxd":446
+ /* "providers.pxd":449
* future_kwargs.append((name, value))
*
* if future_kwargs: # <<<<<<<<<<<<<<
@@ -20224,7 +23452,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (PyList_GET_SIZE(__pyx_v_future_kwargs) != 0);
if (__pyx_t_3) {
- /* "providers.pxd":447
+ /* "providers.pxd":450
*
* if future_kwargs:
* return __combine_future_injections(kwargs, future_kwargs) # <<<<<<<<<<<<<<
@@ -20232,13 +23460,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return kwargs
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_kwargs, __pyx_v_future_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 447, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_kwargs, __pyx_v_future_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_r = __pyx_t_9;
__pyx_t_9 = 0;
goto __pyx_L0;
- /* "providers.pxd":446
+ /* "providers.pxd":449
* future_kwargs.append((name, value))
*
* if future_kwargs: # <<<<<<<<<<<<<<
@@ -20247,7 +23475,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "providers.pxd":449
+ /* "providers.pxd":452
* return __combine_future_injections(kwargs, future_kwargs)
*
* return kwargs # <<<<<<<<<<<<<<
@@ -20259,7 +23487,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "providers.pxd":406
+ /* "providers.pxd":409
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_keyword_args( # <<<<<<<<<<<<<<
@@ -20286,7 +23514,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "providers.pxd":452
+/* "providers.pxd":455
*
*
* cdef inline object __combine_future_injections(object injections, list future_injections): # <<<<<<<<<<<<<<
@@ -20316,16 +23544,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__combine_future_injections", 0);
- /* "providers.pxd":453
+ /* "providers.pxd":456
*
* cdef inline object __combine_future_injections(object injections, list future_injections):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 453, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 453, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -20340,37 +23568,37 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 453, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":455
+ /* "providers.pxd":458
* future_result = asyncio.Future()
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections]) # <<<<<<<<<<<<<<
* injections_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_future_injections == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 455, __pyx_L1_error)
+ __PYX_ERR(1, 458, __pyx_L1_error)
}
__pyx_t_2 = __pyx_v_future_injections; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 458, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
@@ -20379,7 +23607,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 455, __pyx_L1_error)
+ __PYX_ERR(1, 458, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -20392,15 +23620,15 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
@@ -20408,7 +23636,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(1, 455, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(1, 458, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L6_unpacking_done;
@@ -20416,60 +23644,60 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 455, __pyx_L1_error)
+ __PYX_ERR(1, 458, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v__, __pyx_t_6);
__pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_value))) __PYX_ERR(1, 455, __pyx_L1_error)
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_value))) __PYX_ERR(1, 458, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 455, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_injections_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":456
+ /* "providers.pxd":459
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
* injections_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_prepare_args_kwargs_callback,
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_injections_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 456, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_injections_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "providers.pxd":457
+ /* "providers.pxd":460
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
* injections_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_prepare_args_kwargs_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "providers.pxd":458
+ /* "providers.pxd":461
* injections_ready.add_done_callback(
* functools.partial(
* __async_prepare_args_kwargs_callback, # <<<<<<<<<<<<<<
* future_result,
* injections,
*/
- __pyx_t_5 = __Pyx_CFunc_void____object____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_prepare_args_kwargs_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 458, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CFunc_void____object____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_prepare_args_kwargs_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "providers.pxd":461
+ /* "providers.pxd":464
* future_result,
* injections,
* future_injections, # <<<<<<<<<<<<<<
@@ -20491,7 +23719,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_5, __pyx_v_future_result, __pyx_v_injections, __pyx_v_future_injections};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -20500,14 +23728,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_5, __pyx_v_future_result, __pyx_v_injections, __pyx_v_future_injections};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -20524,7 +23752,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_GIVEREF(__pyx_v_future_injections);
PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_10, __pyx_v_future_injections);
__pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -20542,21 +23770,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 456, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":464
+ /* "providers.pxd":467
* ),
* )
* asyncio.ensure_future(injections_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 464, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 464, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -20571,12 +23799,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_injections_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_injections_ready);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 464, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":466
+ /* "providers.pxd":469
* asyncio.ensure_future(injections_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -20588,7 +23816,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "providers.pxd":452
+ /* "providers.pxd":455
*
*
* cdef inline object __combine_future_injections(object injections, list future_injections): # <<<<<<<<<<<<<<
@@ -20617,7 +23845,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
return __pyx_r;
}
-/* "providers.pxd":469
+/* "providers.pxd":472
*
*
* cdef inline void __async_prepare_args_kwargs_callback( # <<<<<<<<<<<<<<
@@ -20651,7 +23879,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_prepare_args_kwargs_callback", 0);
- /* "providers.pxd":475
+ /* "providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -20667,14 +23895,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "providers.pxd":476
+ /* "providers.pxd":479
* ):
* try:
* result = future.result() # <<<<<<<<<<<<<<
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 476, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 479, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -20688,20 +23916,20 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 476, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 479, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "providers.pxd":477
+ /* "providers.pxd":480
* try:
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs): # <<<<<<<<<<<<<<
* args[key] = value
* except Exception as exception:
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_result);
__Pyx_GIVEREF(__pyx_v_result);
@@ -20709,16 +23937,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_v_future_args_kwargs);
__Pyx_GIVEREF(__pyx_v_future_args_kwargs);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_future_args_kwargs);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 480, __pyx_L3_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -20726,17 +23954,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(1, 480, __pyx_L3_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(1, 480, __pyx_L3_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -20746,7 +23974,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 477, __pyx_L3_error)
+ else __PYX_ERR(1, 480, __pyx_L3_error)
}
break;
}
@@ -20758,7 +23986,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 477, __pyx_L3_error)
+ __PYX_ERR(1, 480, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -20771,15 +23999,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_9);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -20787,7 +24015,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L11_unpacking_failed;
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(1, 477, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(1, 480, __pyx_L3_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
goto __pyx_L12_unpacking_done;
@@ -20795,7 +24023,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 477, __pyx_L3_error)
+ __PYX_ERR(1, 480, __pyx_L3_error)
__pyx_L12_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
@@ -20806,7 +24034,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 477, __pyx_L3_error)
+ __PYX_ERR(1, 480, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -20819,15 +24047,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(__pyx_t_12);
#else
- __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_12);
#endif
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 477, __pyx_L3_error)
+ __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_13)->tp_iternext;
@@ -20835,7 +24063,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_GOTREF(__pyx_t_10);
index = 1; __pyx_t_12 = __pyx_t_11(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L13_unpacking_failed;
__Pyx_GOTREF(__pyx_t_12);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_13), 2) < 0) __PYX_ERR(1, 477, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_13), 2) < 0) __PYX_ERR(1, 480, __pyx_L3_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
goto __pyx_L14_unpacking_done;
@@ -20843,7 +24071,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 477, __pyx_L3_error)
+ __PYX_ERR(1, 480, __pyx_L3_error)
__pyx_L14_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_10);
@@ -20851,16 +24079,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XDECREF_SET(__pyx_v__, __pyx_t_12);
__pyx_t_12 = 0;
- /* "providers.pxd":478
+ /* "providers.pxd":481
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- if (unlikely(PyObject_SetItem(__pyx_v_args, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 478, __pyx_L3_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_args, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 481, __pyx_L3_error)
- /* "providers.pxd":477
+ /* "providers.pxd":480
* try:
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs): # <<<<<<<<<<<<<<
@@ -20870,7 +24098,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "providers.pxd":475
+ /* "providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -20879,7 +24107,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
*/
}
- /* "providers.pxd":482
+ /* "providers.pxd":485
* future_result.set_exception(exception)
* else:
* future_result.set_result(args) # <<<<<<<<<<<<<<
@@ -20887,7 +24115,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 482, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 485, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -20901,7 +24129,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_v_args) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_args);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 482, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 485, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -20919,7 +24147,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "providers.pxd":479
+ /* "providers.pxd":482
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -20929,21 +24157,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_14) {
__Pyx_AddTraceback("dependency_injector.providers.__async_prepare_args_kwargs_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_9) < 0) __PYX_ERR(1, 479, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_9) < 0) __PYX_ERR(1, 482, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "providers.pxd":480
+ /* "providers.pxd":483
* args[key] = value
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(args)
*/
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 480, __pyx_L5_except_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 483, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
@@ -20957,7 +24185,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 480, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 483, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -20969,7 +24197,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "providers.pxd":475
+ /* "providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -20989,7 +24217,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__pyx_L8_try_end:;
}
- /* "providers.pxd":469
+ /* "providers.pxd":472
*
*
* cdef inline void __async_prepare_args_kwargs_callback( # <<<<<<<<<<<<<<
@@ -21017,7 +24245,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_RefNannyFinishContext();
}
-/* "providers.pxd":487
+/* "providers.pxd":490
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_attributes(tuple attributes, int attributes_len): # <<<<<<<<<<<<<<
@@ -21045,31 +24273,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__provide_attributes", 0);
- /* "providers.pxd":489
+ /* "providers.pxd":492
* cdef inline object __provide_attributes(tuple attributes, int attributes_len):
* cdef NamedInjection attr_injection
* cdef dict attribute_injections = {} # <<<<<<<<<<<<<<
* cdef list future_attributes = []
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 489, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_attribute_injections = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":490
+ /* "providers.pxd":493
* cdef NamedInjection attr_injection
* cdef dict attribute_injections = {}
* cdef list future_attributes = [] # <<<<<<<<<<<<<<
*
* for index in range(attributes_len):
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 493, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_attributes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":492
+ /* "providers.pxd":495
* cdef list future_attributes = []
*
* for index in range(attributes_len): # <<<<<<<<<<<<<<
@@ -21081,7 +24309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "providers.pxd":493
+ /* "providers.pxd":496
*
* for index in range(attributes_len):
* attr_injection = attributes[index] # <<<<<<<<<<<<<<
@@ -21090,47 +24318,47 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 493, __pyx_L1_error)
+ __PYX_ERR(1, 496, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_attributes, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_attr_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "providers.pxd":494
+ /* "providers.pxd":497
* for index in range(attributes_len):
* attr_injection = attributes[index]
* name = __get_name(attr_injection) # <<<<<<<<<<<<<<
* value = __get_value(attr_injection)
* attribute_injections[name] = value
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_attr_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 494, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_attr_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":495
+ /* "providers.pxd":498
* attr_injection = attributes[index]
* name = __get_name(attr_injection)
* value = __get_value(attr_injection) # <<<<<<<<<<<<<<
* attribute_injections[name] = value
* if __is_future_or_coroutine(value):
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_attr_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 495, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_attr_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "providers.pxd":496
+ /* "providers.pxd":499
* name = __get_name(attr_injection)
* value = __get_value(attr_injection)
* attribute_injections[name] = value # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(value):
* future_attributes.append((name, value))
*/
- if (unlikely(PyDict_SetItem(__pyx_v_attribute_injections, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 496, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attribute_injections, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(1, 499, __pyx_L1_error)
- /* "providers.pxd":497
+ /* "providers.pxd":500
* value = __get_value(attr_injection)
* attribute_injections[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -21140,14 +24368,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_5 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_5) {
- /* "providers.pxd":498
+ /* "providers.pxd":501
* attribute_injections[name] = value
* if __is_future_or_coroutine(value):
* future_attributes.append((name, value)) # <<<<<<<<<<<<<<
*
* if future_attributes:
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 498, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -21155,10 +24383,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_attributes, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 498, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_attributes, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 501, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":497
+ /* "providers.pxd":500
* value = __get_value(attr_injection)
* attribute_injections[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -21168,7 +24396,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "providers.pxd":500
+ /* "providers.pxd":503
* future_attributes.append((name, value))
*
* if future_attributes: # <<<<<<<<<<<<<<
@@ -21178,7 +24406,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_5 = (PyList_GET_SIZE(__pyx_v_future_attributes) != 0);
if (__pyx_t_5) {
- /* "providers.pxd":501
+ /* "providers.pxd":504
*
* if future_attributes:
* return __combine_future_injections(attribute_injections, future_attributes) # <<<<<<<<<<<<<<
@@ -21186,13 +24414,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return attribute_injections
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_attribute_injections, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 501, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_attribute_injections, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 504, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "providers.pxd":500
+ /* "providers.pxd":503
* future_attributes.append((name, value))
*
* if future_attributes: # <<<<<<<<<<<<<<
@@ -21201,7 +24429,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "providers.pxd":503
+ /* "providers.pxd":506
* return __combine_future_injections(attribute_injections, future_attributes)
*
* return attribute_injections # <<<<<<<<<<<<<<
@@ -21213,7 +24441,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_attribute_injections;
goto __pyx_L0;
- /* "providers.pxd":487
+ /* "providers.pxd":490
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_attributes(tuple attributes, int attributes_len): # <<<<<<<<<<<<<<
@@ -21237,7 +24465,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "providers.pxd":506
+/* "providers.pxd":509
*
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes): # <<<<<<<<<<<<<<
@@ -21263,16 +24491,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_inject_attributes", 0);
- /* "providers.pxd":507
+ /* "providers.pxd":510
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* attributes_ready = asyncio.gather(future_instance, future_attributes)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 507, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 507, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -21287,22 +24515,22 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 507, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":509
+ /* "providers.pxd":512
* future_result = asyncio.Future()
*
* attributes_ready = asyncio.gather(future_instance, future_attributes) # <<<<<<<<<<<<<<
* attributes_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_gather); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_gather); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -21320,7 +24548,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_future_instance, __pyx_v_future_attributes};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -21328,13 +24556,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_future_instance, __pyx_v_future_attributes};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -21345,7 +24573,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_INCREF(__pyx_v_future_attributes);
__Pyx_GIVEREF(__pyx_v_future_attributes);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_future_attributes);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -21353,40 +24581,40 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_v_attributes_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":510
+ /* "providers.pxd":513
*
* attributes_ready = asyncio.gather(future_instance, future_attributes)
* attributes_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_inject_attributes_callback,
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 510, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "providers.pxd":511
+ /* "providers.pxd":514
* attributes_ready = asyncio.gather(future_instance, future_attributes)
* attributes_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_inject_attributes_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_functools); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_functools); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "providers.pxd":512
+ /* "providers.pxd":515
* attributes_ready.add_done_callback(
* functools.partial(
* __async_inject_attributes_callback, # <<<<<<<<<<<<<<
* future_result,
* ),
*/
- __pyx_t_3 = __Pyx_CFunc_void____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_inject_attributes_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 512, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_CFunc_void____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_inject_attributes_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "providers.pxd":513
+ /* "providers.pxd":516
* functools.partial(
* __async_inject_attributes_callback,
* future_result, # <<<<<<<<<<<<<<
@@ -21408,7 +24636,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_v_future_result};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -21417,14 +24645,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_v_future_result};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -21435,7 +24663,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_v_future_result);
__pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -21453,21 +24681,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 510, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":516
+ /* "providers.pxd":519
* ),
* )
* asyncio.ensure_future(attributes_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 516, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 516, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -21482,12 +24710,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_attributes_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_attributes_ready);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 516, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":518
+ /* "providers.pxd":521
* asyncio.ensure_future(attributes_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -21499,7 +24727,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "providers.pxd":506
+ /* "providers.pxd":509
*
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes): # <<<<<<<<<<<<<<
@@ -21526,7 +24754,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
return __pyx_r;
}
-/* "providers.pxd":521
+/* "providers.pxd":524
*
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -21560,7 +24788,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_inject_attributes_callback", 0);
- /* "providers.pxd":522
+ /* "providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -21576,14 +24804,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "providers.pxd":523
+ /* "providers.pxd":526
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try:
* instance, attributes = future.result() # <<<<<<<<<<<<<<
*
* for name, value in attributes.items():
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 523, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -21597,7 +24825,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 523, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
@@ -21606,7 +24834,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 523, __pyx_L3_error)
+ __PYX_ERR(1, 526, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -21619,15 +24847,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 523, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 523, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 523, __pyx_L3_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -21635,7 +24863,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 523, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 526, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L10_unpacking_done;
@@ -21643,7 +24871,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 523, __pyx_L3_error)
+ __PYX_ERR(1, 526, __pyx_L3_error)
__pyx_L10_unpacking_done:;
}
__pyx_v_instance = __pyx_t_5;
@@ -21651,14 +24879,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_v_attributes = __pyx_t_6;
__pyx_t_6 = 0;
- /* "providers.pxd":525
+ /* "providers.pxd":528
* instance, attributes = future.result()
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
* setattr(instance, name, value)
* except Exception as exception:
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -21672,16 +24900,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 525, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
} else {
- __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 528, __pyx_L3_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
@@ -21689,17 +24917,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 528, __pyx_L3_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 528, __pyx_L3_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -21709,7 +24937,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 525, __pyx_L3_error)
+ else __PYX_ERR(1, 528, __pyx_L3_error)
}
break;
}
@@ -21721,7 +24949,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 525, __pyx_L3_error)
+ __PYX_ERR(1, 528, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -21734,15 +24962,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 525, __pyx_L3_error)
+ __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_11)->tp_iternext;
@@ -21750,7 +24978,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_7 = __pyx_t_8(__pyx_t_11); if (unlikely(!__pyx_t_7)) goto __pyx_L13_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_11), 2) < 0) __PYX_ERR(1, 525, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_11), 2) < 0) __PYX_ERR(1, 528, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L14_unpacking_done;
@@ -21758,7 +24986,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 525, __pyx_L3_error)
+ __PYX_ERR(1, 528, __pyx_L3_error)
__pyx_L14_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -21766,16 +24994,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- /* "providers.pxd":526
+ /* "providers.pxd":529
*
* for name, value in attributes.items():
* setattr(instance, name, value) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_12 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(1, 526, __pyx_L3_error)
+ __pyx_t_12 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(1, 529, __pyx_L3_error)
- /* "providers.pxd":525
+ /* "providers.pxd":528
* instance, attributes = future.result()
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -21785,7 +25013,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "providers.pxd":522
+ /* "providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -21794,7 +25022,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
*/
}
- /* "providers.pxd":530
+ /* "providers.pxd":533
* future_result.set_exception(exception)
* else:
* future_result.set_result(instance) # <<<<<<<<<<<<<<
@@ -21802,7 +25030,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
*
*/
/*else:*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 530, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 533, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -21816,7 +25044,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 530, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 533, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -21832,7 +25060,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "providers.pxd":527
+ /* "providers.pxd":530
* for name, value in attributes.items():
* setattr(instance, name, value)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -21842,21 +25070,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_13) {
__Pyx_AddTraceback("dependency_injector.providers.__async_inject_attributes_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(1, 527, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(1, 530, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "providers.pxd":528
+ /* "providers.pxd":531
* setattr(instance, name, value)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(instance)
*/
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 528, __pyx_L5_except_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 531, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_14 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
@@ -21870,7 +25098,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_14, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 528, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 531, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -21882,7 +25110,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "providers.pxd":522
+ /* "providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -21902,7 +25130,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_L8_try_end:;
}
- /* "providers.pxd":521
+ /* "providers.pxd":524
*
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -21929,7 +25157,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_RefNannyFinishContext();
}
-/* "providers.pxd":533
+/* "providers.pxd":536
*
*
* cdef inline void __inject_attributes(object instance, dict attributes): # <<<<<<<<<<<<<<
@@ -21955,7 +25183,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__inject_attributes", 0);
- /* "providers.pxd":534
+ /* "providers.pxd":537
*
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -21964,17 +25192,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(1, 534, __pyx_L1_error)
+ __PYX_ERR(1, 537, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 537, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -21982,17 +25210,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 537, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 537, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -22002,7 +25230,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 534, __pyx_L1_error)
+ else __PYX_ERR(1, 537, __pyx_L1_error)
}
break;
}
@@ -22014,7 +25242,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 534, __pyx_L1_error)
+ __PYX_ERR(1, 537, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -22027,15 +25255,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 534, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -22043,7 +25271,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 534, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 537, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -22051,7 +25279,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 534, __pyx_L1_error)
+ __PYX_ERR(1, 537, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -22059,16 +25287,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "providers.pxd":535
+ /* "providers.pxd":538
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items():
* setattr(instance, name, value) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_9 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 535, __pyx_L1_error)
+ __pyx_t_9 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 538, __pyx_L1_error)
- /* "providers.pxd":534
+ /* "providers.pxd":537
*
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -22078,7 +25306,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "providers.pxd":533
+ /* "providers.pxd":536
*
*
* cdef inline void __inject_attributes(object instance, dict attributes): # <<<<<<<<<<<<<<
@@ -22101,7 +25329,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_RefNannyFinishContext();
}
-/* "providers.pxd":538
+/* "providers.pxd":541
*
*
* cdef inline object __call( # <<<<<<<<<<<<<<
@@ -22135,31 +25363,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call", 0);
- /* "providers.pxd":547
+ /* "providers.pxd":550
* int injection_kwargs_len,
* ):
* args = __provide_positional_args( # <<<<<<<<<<<<<<
* context_args,
* injection_args,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_context_args, __pyx_v_injection_args, __pyx_v_injection_args_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 547, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_context_args, __pyx_v_injection_args, __pyx_v_injection_args_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 550, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":552
+ /* "providers.pxd":555
* injection_args_len,
* )
* kwargs = __provide_keyword_args( # <<<<<<<<<<<<<<
* context_kwargs,
* injection_kwargs,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_context_kwargs, __pyx_v_injection_kwargs, __pyx_v_injection_kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 552, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_context_kwargs, __pyx_v_injection_kwargs, __pyx_v_injection_kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 555, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":558
+ /* "providers.pxd":561
* )
*
* is_future_args = __is_future_or_coroutine(args) # <<<<<<<<<<<<<<
@@ -22168,7 +25396,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
__pyx_v_is_future_args = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_args);
- /* "providers.pxd":559
+ /* "providers.pxd":562
*
* is_future_args = __is_future_or_coroutine(args)
* is_future_kwargs = __is_future_or_coroutine(kwargs) # <<<<<<<<<<<<<<
@@ -22177,7 +25405,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
__pyx_v_is_future_kwargs = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_kwargs);
- /* "providers.pxd":561
+ /* "providers.pxd":564
* is_future_kwargs = __is_future_or_coroutine(kwargs)
*
* if is_future_args or is_future_kwargs: # <<<<<<<<<<<<<<
@@ -22195,7 +25423,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "providers.pxd":562
+ /* "providers.pxd":565
*
* if is_future_args or is_future_kwargs:
* future_args = args if is_future_args else __future_result(args) # <<<<<<<<<<<<<<
@@ -22206,7 +25434,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_args);
__pyx_t_1 = __pyx_v_args;
} else {
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 562, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
@@ -22214,7 +25442,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_future_args = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":563
+ /* "providers.pxd":566
* if is_future_args or is_future_kwargs:
* future_args = args if is_future_args else __future_result(args)
* future_kwargs = kwargs if is_future_kwargs else __future_result(kwargs) # <<<<<<<<<<<<<<
@@ -22225,7 +25453,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_kwargs);
__pyx_t_1 = __pyx_v_kwargs;
} else {
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 563, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
@@ -22233,16 +25461,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_future_kwargs = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":565
+ /* "providers.pxd":568
* future_kwargs = kwargs if is_future_kwargs else __future_result(kwargs)
*
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 565, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 565, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -22257,22 +25485,22 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 565, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":567
+ /* "providers.pxd":570
* future_result = asyncio.Future()
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs) # <<<<<<<<<<<<<<
* args_kwargs_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gather); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gather); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -22290,7 +25518,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_future_args, __pyx_v_future_kwargs};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -22298,13 +25526,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_future_args, __pyx_v_future_kwargs};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -22315,7 +25543,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_future_kwargs);
__Pyx_GIVEREF(__pyx_v_future_kwargs);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_future_kwargs);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -22323,40 +25551,40 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_args_kwargs_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":568
+ /* "providers.pxd":571
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
* args_kwargs_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_call_callback,
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_args_kwargs_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 568, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_args_kwargs_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "providers.pxd":569
+ /* "providers.pxd":572
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
* args_kwargs_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_call_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "providers.pxd":570
+ /* "providers.pxd":573
* args_kwargs_ready.add_done_callback(
* functools.partial(
* __async_call_callback, # <<<<<<<<<<<<<<
* future_result,
* call,
*/
- __pyx_t_5 = __Pyx_CFunc_void____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_call_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 570, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CFunc_void____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_call_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 573, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "providers.pxd":572
+ /* "providers.pxd":575
* __async_call_callback,
* future_result,
* call, # <<<<<<<<<<<<<<
@@ -22378,7 +25606,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_5, __pyx_v_future_result, __pyx_v_call};
- __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -22387,14 +25615,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_5, __pyx_v_future_result, __pyx_v_call};
- __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -22408,7 +25636,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_GIVEREF(__pyx_v_call);
PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_6, __pyx_v_call);
__pyx_t_5 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -22426,21 +25654,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 568, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":575
+ /* "providers.pxd":578
* ),
* )
* asyncio.ensure_future(args_kwargs_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 575, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 575, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -22455,12 +25683,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_args_kwargs_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_args_kwargs_ready);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 575, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":577
+ /* "providers.pxd":580
* asyncio.ensure_future(args_kwargs_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -22472,7 +25700,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "providers.pxd":561
+ /* "providers.pxd":564
* is_future_kwargs = __is_future_or_coroutine(kwargs)
*
* if is_future_args or is_future_kwargs: # <<<<<<<<<<<<<<
@@ -22481,7 +25709,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
}
- /* "providers.pxd":579
+ /* "providers.pxd":582
* return future_result
*
* return call(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -22489,20 +25717,20 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 579, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 579, __pyx_L1_error)
+ __PYX_ERR(1, 582, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
- __pyx_t_7 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 579, __pyx_L1_error)
+ __pyx_t_7 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
} else {
- __pyx_t_7 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 579, __pyx_L1_error)
+ __pyx_t_7 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
}
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 579, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -22510,7 +25738,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "providers.pxd":538
+ /* "providers.pxd":541
*
*
* cdef inline object __call( # <<<<<<<<<<<<<<
@@ -22541,7 +25769,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
return __pyx_r;
}
-/* "providers.pxd":582
+/* "providers.pxd":585
*
*
* cdef inline void __async_call_callback(object future_result, object call, object future): # <<<<<<<<<<<<<<
@@ -22573,7 +25801,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_call_callback", 0);
- /* "providers.pxd":583
+ /* "providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -22589,14 +25817,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "providers.pxd":584
+ /* "providers.pxd":587
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try:
* args, kwargs = future.result() # <<<<<<<<<<<<<<
* result = call(*args, **kwargs)
* except Exception as exception:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 584, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -22610,7 +25838,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 584, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
@@ -22619,7 +25847,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 584, __pyx_L3_error)
+ __PYX_ERR(1, 587, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -22632,15 +25860,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 584, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 584, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 584, __pyx_L3_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -22648,7 +25876,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 584, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 587, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L10_unpacking_done;
@@ -22656,7 +25884,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 584, __pyx_L3_error)
+ __PYX_ERR(1, 587, __pyx_L3_error)
__pyx_L10_unpacking_done:;
}
__pyx_v_args = __pyx_t_5;
@@ -22664,34 +25892,34 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_v_kwargs = __pyx_t_6;
__pyx_t_6 = 0;
- /* "providers.pxd":585
+ /* "providers.pxd":588
* try:
* args, kwargs = future.result()
* result = call(*args, **kwargs) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 585, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 585, __pyx_L3_error)
+ __PYX_ERR(1, 588, __pyx_L3_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
- __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 585, __pyx_L3_error)
+ __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
} else {
- __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 585, __pyx_L3_error)
+ __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 585, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_result = __pyx_t_5;
__pyx_t_5 = 0;
- /* "providers.pxd":583
+ /* "providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -22700,7 +25928,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
}
- /* "providers.pxd":589
+ /* "providers.pxd":592
* future_result.set_exception(exception)
* else:
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -22711,16 +25939,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_9 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_9) {
- /* "providers.pxd":590
+ /* "providers.pxd":593
* else:
* if __is_future_or_coroutine(result):
* result = asyncio.ensure_future(result) # <<<<<<<<<<<<<<
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 590, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 590, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -22735,27 +25963,27 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 590, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_result, __pyx_t_5);
__pyx_t_5 = 0;
- /* "providers.pxd":591
+ /* "providers.pxd":594
* if __is_future_or_coroutine(result):
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(__async_result_callback, future_result)) # <<<<<<<<<<<<<<
* return
* future_result.set_result(result)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_functools); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_functools); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_CFunc_object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_result_callback); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_7 = __Pyx_CFunc_object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_result_callback); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_11 = NULL;
__pyx_t_12 = 0;
@@ -22772,7 +26000,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_7, __pyx_v_future_result};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -22781,14 +26009,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_7, __pyx_v_future_result};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL;
@@ -22799,7 +26027,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_v_future_result);
__pyx_t_7 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -22817,12 +26045,12 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 591, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "providers.pxd":592
+ /* "providers.pxd":595
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return # <<<<<<<<<<<<<<
@@ -22831,7 +26059,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
goto __pyx_L6_except_return;
- /* "providers.pxd":589
+ /* "providers.pxd":592
* future_result.set_exception(exception)
* else:
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -22840,14 +26068,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
}
- /* "providers.pxd":593
+ /* "providers.pxd":596
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return
* future_result.set_result(result) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 593, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 596, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -22861,7 +26089,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 593, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 596, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -22876,7 +26104,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "providers.pxd":586
+ /* "providers.pxd":589
* args, kwargs = future.result()
* result = call(*args, **kwargs)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -22886,21 +26114,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_12 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_12) {
__Pyx_AddTraceback("dependency_injector.providers.__async_call_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 586, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 589, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "providers.pxd":587
+ /* "providers.pxd":590
* result = call(*args, **kwargs)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* if __is_future_or_coroutine(result):
*/
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 587, __pyx_L5_except_error)
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 590, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
@@ -22914,7 +26142,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_10 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_7, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 587, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 590, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -22926,7 +26154,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "providers.pxd":583
+ /* "providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -22952,7 +26180,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_L8_try_end:;
}
- /* "providers.pxd":582
+ /* "providers.pxd":585
*
*
* cdef inline void __async_call_callback(object future_result, object call, object future): # <<<<<<<<<<<<<<
@@ -22979,7 +26207,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_RefNannyFinishContext();
}
-/* "providers.pxd":596
+/* "providers.pxd":599
*
*
* cdef inline object __async_result_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -23007,7 +26235,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_result_callback", 0);
- /* "providers.pxd":597
+ /* "providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -23023,14 +26251,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "providers.pxd":598
+ /* "providers.pxd":601
* cdef inline object __async_result_callback(object future_result, object future):
* try:
* result = future.result() # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 598, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 601, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -23044,13 +26272,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 598, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 601, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "providers.pxd":597
+ /* "providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -23059,7 +26287,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
*/
}
- /* "providers.pxd":602
+ /* "providers.pxd":605
* future_result.set_exception(exception)
* else:
* future_result.set_result(result) # <<<<<<<<<<<<<<
@@ -23067,7 +26295,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 602, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 605, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -23081,7 +26309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 602, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 605, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -23095,7 +26323,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "providers.pxd":599
+ /* "providers.pxd":602
* try:
* result = future.result()
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -23105,21 +26333,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.__async_result_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 599, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 602, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "providers.pxd":600
+ /* "providers.pxd":603
* result = future.result()
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(result)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 600, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 603, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -23133,7 +26361,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 600, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 603, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -23145,7 +26373,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "providers.pxd":597
+ /* "providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -23165,7 +26393,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_L8_try_end:;
}
- /* "providers.pxd":596
+ /* "providers.pxd":599
*
*
* cdef inline object __async_result_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -23193,7 +26421,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
return __pyx_r;
}
-/* "providers.pxd":605
+/* "providers.pxd":608
*
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -23213,7 +26441,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__callable_call", 0);
- /* "providers.pxd":606
+ /* "providers.pxd":609
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call( # <<<<<<<<<<<<<<
@@ -23222,7 +26450,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
*/
__Pyx_XDECREF(__pyx_r);
- /* "providers.pxd":607
+ /* "providers.pxd":610
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -23232,7 +26460,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- /* "providers.pxd":609
+ /* "providers.pxd":612
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -23242,7 +26470,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_2 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_2);
- /* "providers.pxd":612
+ /* "providers.pxd":615
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -23252,14 +26480,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_3 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_3);
- /* "providers.pxd":606
+ /* "providers.pxd":609
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 606, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 609, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -23268,7 +26496,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "providers.pxd":605
+ /* "providers.pxd":608
*
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -23290,7 +26518,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
return __pyx_r;
}
-/* "providers.pxd":617
+/* "providers.pxd":620
*
*
* cdef inline object __factory_call(Factory self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -23316,7 +26544,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__factory_call", 0);
- /* "providers.pxd":620
+ /* "providers.pxd":623
* cdef object instance
*
* instance = __callable_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -23325,13 +26553,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx___instantiator);
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___callable_call(((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 620, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___callable_call(((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_instance = __pyx_t_2;
__pyx_t_2 = 0;
- /* "providers.pxd":622
+ /* "providers.pxd":625
* instance = __callable_call(self.__instantiator, args, kwargs)
*
* if self.__attributes_len > 0: # <<<<<<<<<<<<<<
@@ -23341,7 +26569,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_t_3 = ((__pyx_v_self->__pyx___attributes_len > 0) != 0);
if (__pyx_t_3) {
- /* "providers.pxd":623
+ /* "providers.pxd":626
*
* if self.__attributes_len > 0:
* attributes = __provide_attributes(self.__attributes, self.__attributes_len) # <<<<<<<<<<<<<<
@@ -23350,13 +26578,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_t_2 = __pyx_v_self->__pyx___attributes;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_attributes(((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___attributes_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 623, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_attributes(((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___attributes_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_attributes = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":625
+ /* "providers.pxd":628
* attributes = __provide_attributes(self.__attributes, self.__attributes_len)
*
* is_future_instance = __is_future_or_coroutine(instance) # <<<<<<<<<<<<<<
@@ -23365,7 +26593,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_v_is_future_instance = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance);
- /* "providers.pxd":626
+ /* "providers.pxd":629
*
* is_future_instance = __is_future_or_coroutine(instance)
* is_future_attributes = __is_future_or_coroutine(attributes) # <<<<<<<<<<<<<<
@@ -23374,7 +26602,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_v_is_future_attributes = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_attributes);
- /* "providers.pxd":628
+ /* "providers.pxd":631
* is_future_attributes = __is_future_or_coroutine(attributes)
*
* if is_future_instance or is_future_attributes: # <<<<<<<<<<<<<<
@@ -23392,7 +26620,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_L5_bool_binop_done:;
if (__pyx_t_3) {
- /* "providers.pxd":629
+ /* "providers.pxd":632
*
* if is_future_instance or is_future_attributes:
* future_instance = instance if is_future_instance else __future_result(instance) # <<<<<<<<<<<<<<
@@ -23403,7 +26631,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__Pyx_INCREF(__pyx_v_instance);
__pyx_t_1 = __pyx_v_instance;
} else {
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_instance); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 629, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_instance); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
@@ -23411,7 +26639,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_v_future_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":630
+ /* "providers.pxd":633
* if is_future_instance or is_future_attributes:
* future_instance = instance if is_future_instance else __future_result(instance)
* future_attributes = attributes if is_future_attributes else __future_result(attributes) # <<<<<<<<<<<<<<
@@ -23422,7 +26650,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__Pyx_INCREF(__pyx_v_attributes);
__pyx_t_1 = __pyx_v_attributes;
} else {
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 630, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
@@ -23430,7 +26658,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_v_future_attributes = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":631
+ /* "providers.pxd":634
* future_instance = instance if is_future_instance else __future_result(instance)
* future_attributes = attributes if is_future_attributes else __future_result(attributes)
* return __async_inject_attributes(future_instance, future_attributes) # <<<<<<<<<<<<<<
@@ -23438,13 +26666,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
* __inject_attributes(instance, attributes)
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___async_inject_attributes(__pyx_v_future_instance, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 631, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___async_inject_attributes(__pyx_v_future_instance, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 634, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "providers.pxd":628
+ /* "providers.pxd":631
* is_future_attributes = __is_future_or_coroutine(attributes)
*
* if is_future_instance or is_future_attributes: # <<<<<<<<<<<<<<
@@ -23453,17 +26681,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
}
- /* "providers.pxd":633
+ /* "providers.pxd":636
* return __async_inject_attributes(future_instance, future_attributes)
*
* __inject_attributes(instance, attributes) # <<<<<<<<<<<<<<
*
* return instance
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 633, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 636, __pyx_L1_error)
__pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
- /* "providers.pxd":622
+ /* "providers.pxd":625
* instance = __callable_call(self.__instantiator, args, kwargs)
*
* if self.__attributes_len > 0: # <<<<<<<<<<<<<<
@@ -23472,7 +26700,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
}
- /* "providers.pxd":635
+ /* "providers.pxd":638
* __inject_attributes(instance, attributes)
*
* return instance # <<<<<<<<<<<<<<
@@ -23484,7 +26712,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "providers.pxd":617
+ /* "providers.pxd":620
*
*
* cdef inline object __factory_call(Factory self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -23508,7 +26736,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
return __pyx_r;
}
-/* "providers.pxd":638
+/* "providers.pxd":641
*
*
* cdef inline bint __is_future_or_coroutine(object instance): # <<<<<<<<<<<<<<
@@ -23529,21 +26757,21 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__is_future_or_coroutine", 0);
- /* "providers.pxd":639
+ /* "providers.pxd":642
*
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None: # <<<<<<<<<<<<<<
* return False
* return asyncio.isfuture(instance) or asyncio.iscoroutine(instance)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 639, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "providers.pxd":640
+ /* "providers.pxd":643
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None:
* return False # <<<<<<<<<<<<<<
@@ -23553,7 +26781,7 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
__pyx_r = 0;
goto __pyx_L0;
- /* "providers.pxd":639
+ /* "providers.pxd":642
*
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None: # <<<<<<<<<<<<<<
@@ -23562,16 +26790,16 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
*/
}
- /* "providers.pxd":641
+ /* "providers.pxd":644
* if asyncio is None:
* return False
* return asyncio.isfuture(instance) or asyncio.iscoroutine(instance) # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfuture); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfuture); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -23586,19 +26814,19 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 641, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_2) {
} else {
__pyx_t_3 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutine); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutine); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -23613,17 +26841,17 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 641, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 641, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __pyx_t_2;
__pyx_L4_bool_binop_done:;
__pyx_r = __pyx_t_3;
goto __pyx_L0;
- /* "providers.pxd":638
+ /* "providers.pxd":641
*
*
* cdef inline bint __is_future_or_coroutine(object instance): # <<<<<<<<<<<<<<
@@ -23643,7 +26871,7 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
return __pyx_r;
}
-/* "providers.pxd":644
+/* "providers.pxd":647
*
*
* cdef inline object __future_result(object instance): # <<<<<<<<<<<<<<
@@ -23663,16 +26891,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__future_result", 0);
- /* "providers.pxd":645
+ /* "providers.pxd":648
*
* cdef inline object __future_result(object instance):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* future_result.set_result(instance)
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 645, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 645, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -23687,19 +26915,19 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 645, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "providers.pxd":646
+ /* "providers.pxd":649
* cdef inline object __future_result(object instance):
* future_result = asyncio.Future()
* future_result.set_result(instance) # <<<<<<<<<<<<<<
* return future_result
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 646, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -23713,12 +26941,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 646, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "providers.pxd":647
+ /* "providers.pxd":650
* future_result = asyncio.Future()
* future_result.set_result(instance)
* return future_result # <<<<<<<<<<<<<<
@@ -23728,7 +26956,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "providers.pxd":644
+ /* "providers.pxd":647
*
*
* cdef inline object __future_result(object instance): # <<<<<<<<<<<<<<
@@ -23922,7 +27150,7 @@ static PyObject *__Pyx_CFunc_void____object____object____object____object___to_p
* """wrap(future_result, args, future_args_kwargs, future) -> 'void'"""
* f(future_result, args, future_args_kwargs, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_64__Pyx_CFunc_void____object____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_64__Pyx_CFunc_void____object____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -24110,7 +27338,7 @@ static PyObject *__Pyx_CFunc_void____object____object___to_py(void (*__pyx_v_f)(
* """wrap(future_result, future) -> 'void'"""
* f(future_result, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_44__Pyx_CFunc_void____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_44__Pyx_CFunc_void____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -24309,7 +27537,7 @@ static PyObject *__Pyx_CFunc_void____object____object____object___to_py(void (*_
* """wrap(future_result, call, future) -> 'void'"""
* f(future_result, call, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_54__Pyx_CFunc_void____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_54__Pyx_CFunc_void____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -24502,7 +27730,7 @@ static PyObject *__Pyx_CFunc_object____object____object___to_py(PyObject *(*__py
* """wrap(future_result, future)"""
* return f(future_result, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_46__Pyx_CFunc_object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_object____object, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_46__Pyx_CFunc_object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_object____object, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -26198,6 +29426,10 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_object____object____object__
static PyMethodDef __pyx_methods[] = {
{"is_container", (PyCFunction)__pyx_pw_19dependency_injector_10containers_9is_container, METH_O, __pyx_doc_19dependency_injector_10containers_8is_container},
{"_check_provider_type", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_11_check_provider_type, METH_VARARGS|METH_KEYWORDS, 0},
+ {"_any_relative_string_imports_in", (PyCFunction)__pyx_pw_19dependency_injector_10containers_13_any_relative_string_imports_in, METH_O, 0},
+ {"_resolve_string_imports", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_10containers_15_resolve_string_imports, METH_VARARGS|METH_KEYWORDS, 0},
+ {"_resolve_calling_package_name", (PyCFunction)__pyx_pw_19dependency_injector_10containers_17_resolve_calling_package_name, METH_NOARGS, 0},
+ {"_resolve_package_name_from_cls", (PyCFunction)__pyx_pw_19dependency_injector_10containers_19_resolve_package_name_from_cls, METH_O, 0},
{0, 0, 0, 0}
};
@@ -26249,12 +29481,14 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_BaseSingleton, __pyx_k_BaseSingleton, sizeof(__pyx_k_BaseSingleton), 0, 0, 1, 1},
{&__pyx_n_s_CHILD_PROVIDERS, __pyx_k_CHILD_PROVIDERS, sizeof(__pyx_k_CHILD_PROVIDERS), 0, 0, 1, 1},
{&__pyx_kp_u_Can_not_resolve_name_for_provide, __pyx_k_Can_not_resolve_name_for_provide, sizeof(__pyx_k_Can_not_resolve_name_for_provide), 0, 1, 0, 0},
+ {&__pyx_n_s_Configuration, __pyx_k_Configuration, sizeof(__pyx_k_Configuration), 0, 0, 1, 1},
{&__pyx_n_s_Container, __pyx_k_Container, sizeof(__pyx_k_Container), 0, 0, 1, 1},
{&__pyx_kp_s_Container_0_could_not_be_overrid, __pyx_k_Container_0_could_not_be_overrid, sizeof(__pyx_k_Container_0_could_not_be_overrid), 0, 0, 1, 0},
{&__pyx_kp_s_Container_0_could_not_be_overrid_2, __pyx_k_Container_0_could_not_be_overrid_2, sizeof(__pyx_k_Container_0_could_not_be_overrid_2), 0, 0, 1, 0},
{&__pyx_kp_s_Container_0_is_not_overridden, __pyx_k_Container_0_is_not_overridden, sizeof(__pyx_k_Container_0_is_not_overridden), 0, 0, 1, 0},
{&__pyx_kp_u_Container_2, __pyx_k_Container_2, sizeof(__pyx_k_Container_2), 0, 1, 0, 0},
{&__pyx_kp_s_Container_can_have_only_one_Self, __pyx_k_Container_can_have_only_one_Self, sizeof(__pyx_k_Container_can_have_only_one_Self), 0, 0, 1, 0},
+ {&__pyx_kp_s_Container_wiring_configuration, __pyx_k_Container_wiring_configuration, sizeof(__pyx_k_Container_wiring_configuration), 0, 0, 1, 0},
{&__pyx_n_s_DeclarativeContainer, __pyx_k_DeclarativeContainer, sizeof(__pyx_k_DeclarativeContainer), 0, 0, 1, 1},
{&__pyx_n_s_DeclarativeContainerMetaClass, __pyx_k_DeclarativeContainerMetaClass, sizeof(__pyx_k_DeclarativeContainerMetaClass), 0, 0, 1, 1},
{&__pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_k_DeclarativeContainerMetaClass_2, sizeof(__pyx_k_DeclarativeContainerMetaClass_2), 0, 0, 1, 1},
@@ -26274,6 +29508,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_s_Declarative_inversion_of_control_2, __pyx_k_Declarative_inversion_of_control_2, sizeof(__pyx_k_Declarative_inversion_of_control_2), 0, 0, 1, 0},
{&__pyx_n_s_DependenciesContainer, __pyx_k_DependenciesContainer, sizeof(__pyx_k_DependenciesContainer), 0, 0, 1, 1},
{&__pyx_n_s_Dependency, __pyx_k_Dependency, sizeof(__pyx_k_Dependency), 0, 0, 1, 1},
+ {&__pyx_kp_s_Dependency_Injector_will_drop_su, __pyx_k_Dependency_Injector_will_drop_su, sizeof(__pyx_k_Dependency_Injector_will_drop_su), 0, 0, 1, 0},
+ {&__pyx_n_s_DeprecationWarning, __pyx_k_DeprecationWarning, sizeof(__pyx_k_DeprecationWarning), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer, __pyx_k_DynamicContainer, sizeof(__pyx_k_DynamicContainer), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer___deepcopy, __pyx_k_DynamicContainer___deepcopy, sizeof(__pyx_k_DynamicContainer___deepcopy), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer___delattr, __pyx_k_DynamicContainer___delattr, sizeof(__pyx_k_DynamicContainer___delattr), 0, 0, 1, 1},
@@ -26287,6 +29523,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_DynamicContainer_from_schema, __pyx_k_DynamicContainer_from_schema, sizeof(__pyx_k_DynamicContainer_from_schema), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer_from_yaml_schem, __pyx_k_DynamicContainer_from_yaml_schem, sizeof(__pyx_k_DynamicContainer_from_yaml_schem), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer_init_resources, __pyx_k_DynamicContainer_init_resources, sizeof(__pyx_k_DynamicContainer_init_resources), 0, 0, 1, 1},
+ {&__pyx_n_s_DynamicContainer_is_auto_wiring, __pyx_k_DynamicContainer_is_auto_wiring, sizeof(__pyx_k_DynamicContainer_is_auto_wiring), 0, 0, 1, 1},
+ {&__pyx_n_s_DynamicContainer_load_config, __pyx_k_DynamicContainer_load_config, sizeof(__pyx_k_DynamicContainer_load_config), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer_override, __pyx_k_DynamicContainer_override, sizeof(__pyx_k_DynamicContainer_override), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer_override_provid, __pyx_k_DynamicContainer_override_provid, sizeof(__pyx_k_DynamicContainer_override_provid), 0, 0, 1, 1},
{&__pyx_n_s_DynamicContainer_parent_name, __pyx_k_DynamicContainer_parent_name, sizeof(__pyx_k_DynamicContainer_parent_name), 0, 0, 1, 1},
@@ -26313,6 +29551,10 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
{&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
{&__pyx_n_s_Provider, __pyx_k_Provider, sizeof(__pyx_k_Provider), 0, 0, 1, 1},
+ {&__pyx_n_s_ProvidersOverridingContext, __pyx_k_ProvidersOverridingContext, sizeof(__pyx_k_ProvidersOverridingContext), 0, 0, 1, 1},
+ {&__pyx_n_s_ProvidersOverridingContext___ent, __pyx_k_ProvidersOverridingContext___ent, sizeof(__pyx_k_ProvidersOverridingContext___ent), 0, 0, 1, 1},
+ {&__pyx_n_s_ProvidersOverridingContext___exi, __pyx_k_ProvidersOverridingContext___exi, sizeof(__pyx_k_ProvidersOverridingContext___exi), 0, 0, 1, 1},
+ {&__pyx_n_s_ProvidersOverridingContext___ini, __pyx_k_ProvidersOverridingContext___ini, sizeof(__pyx_k_ProvidersOverridingContext___ini), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_CFunc_object____object, __pyx_k_Pyx_CFunc_object____object, sizeof(__pyx_k_Pyx_CFunc_object____object), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_CFunc_void____object____ob, __pyx_k_Pyx_CFunc_void____object____ob, sizeof(__pyx_k_Pyx_CFunc_void____object____ob), 0, 0, 1, 1},
{&__pyx_n_s_Pyx_CFunc_void____object____ob_2, __pyx_k_Pyx_CFunc_void____object____ob_2, sizeof(__pyx_k_Pyx_CFunc_void____object____ob_2), 0, 0, 1, 1},
@@ -26327,12 +29569,17 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_SingletonResetContext___init, __pyx_k_SingletonResetContext___init, sizeof(__pyx_k_SingletonResetContext___init), 0, 0, 1, 1},
{&__pyx_kp_s_Unable_to_load_yaml_schema_PyYAM, __pyx_k_Unable_to_load_yaml_schema_PyYAM, sizeof(__pyx_k_Unable_to_load_yaml_schema_PyYAM), 0, 0, 1, 0},
{&__pyx_kp_s_Unable_to_resolve_resources_shut, __pyx_k_Unable_to_resolve_resources_shut, sizeof(__pyx_k_Unable_to_resolve_resources_shut), 0, 0, 1, 0},
+ {&__pyx_n_s_WiringConfiguration, __pyx_k_WiringConfiguration, sizeof(__pyx_k_WiringConfiguration), 0, 0, 1, 1},
+ {&__pyx_n_s_WiringConfiguration___deepcopy, __pyx_k_WiringConfiguration___deepcopy, sizeof(__pyx_k_WiringConfiguration___deepcopy), 0, 0, 1, 1},
+ {&__pyx_n_s_WiringConfiguration___init, __pyx_k_WiringConfiguration___init, sizeof(__pyx_k_WiringConfiguration___init), 0, 0, 1, 1},
+ {&__pyx_kp_s_Wiring_configuration_should_be_a, __pyx_k_Wiring_configuration_should_be_a, sizeof(__pyx_k_Wiring_configuration_should_be_a), 0, 0, 1, 0},
{&__pyx_kp_s_Wiring_requires_Python_3_6_or_ab, __pyx_k_Wiring_requires_Python_3_6_or_ab, sizeof(__pyx_k_Wiring_requires_Python_3_6_or_ab), 0, 0, 1, 0},
- {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0},
- {&__pyx_n_s__118, __pyx_k__118, sizeof(__pyx_k__118), 0, 0, 1, 1},
- {&__pyx_kp_s__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 0, 1, 0},
- {&__pyx_n_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 1},
- {&__pyx_n_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 1},
+ {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0},
+ {&__pyx_kp_s__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 0, 1, 0},
+ {&__pyx_n_s__131, __pyx_k__131, sizeof(__pyx_k__131), 0, 0, 1, 1},
+ {&__pyx_kp_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 0},
+ {&__pyx_n_s__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 0, 1, 1},
+ {&__pyx_n_s__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 0, 1, 1},
{&__pyx_n_s_add_done_callback, __pyx_k_add_done_callback, sizeof(__pyx_k_add_done_callback), 0, 0, 1, 1},
{&__pyx_n_s_add_metaclass, __pyx_k_add_metaclass, sizeof(__pyx_k_add_metaclass), 0, 0, 1, 1},
{&__pyx_n_s_all_providers, __pyx_k_all_providers, sizeof(__pyx_k_all_providers), 0, 0, 1, 1},
@@ -26346,6 +29593,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
{&__pyx_n_s_asyncio_tasks, __pyx_k_asyncio_tasks, sizeof(__pyx_k_asyncio_tasks), 0, 0, 1, 1},
{&__pyx_n_s_attributes, __pyx_k_attributes, sizeof(__pyx_k_attributes), 0, 0, 1, 1},
+ {&__pyx_n_s_auto_load_config, __pyx_k_auto_load_config, sizeof(__pyx_k_auto_load_config), 0, 0, 1, 1},
+ {&__pyx_n_s_auto_wire, __pyx_k_auto_wire, sizeof(__pyx_k_auto_wire), 0, 0, 1, 1},
{&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1},
{&__pyx_n_s_base, __pyx_k_base, sizeof(__pyx_k_base), 0, 0, 1, 1},
{&__pyx_n_s_base_container, __pyx_k_base_container, sizeof(__pyx_k_base_container), 0, 0, 1, 1},
@@ -26353,6 +29602,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_bases, __pyx_k_bases, sizeof(__pyx_k_bases), 0, 0, 1, 1},
{&__pyx_n_s_build_schema, __pyx_k_build_schema, sizeof(__pyx_k_build_schema), 0, 0, 1, 1},
{&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1},
+ {&__pyx_n_s_category, __pyx_k_category, sizeof(__pyx_k_category), 0, 0, 1, 1},
{&__pyx_n_s_cfunc_to_py, __pyx_k_cfunc_to_py, sizeof(__pyx_k_cfunc_to_py), 0, 0, 1, 1},
{&__pyx_n_s_check_dependencies, __pyx_k_check_dependencies, sizeof(__pyx_k_check_dependencies), 0, 0, 1, 1},
{&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1},
@@ -26362,17 +29612,20 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
{&__pyx_n_s_cls, __pyx_k_cls, sizeof(__pyx_k_cls), 0, 0, 1, 1},
{&__pyx_n_s_cls_providers, __pyx_k_cls_providers, sizeof(__pyx_k_cls_providers), 0, 0, 1, 1},
+ {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
{&__pyx_n_s_container, __pyx_k_container, sizeof(__pyx_k_container), 0, 0, 1, 1},
{&__pyx_n_s_container_2, __pyx_k_container_2, sizeof(__pyx_k_container_2), 0, 0, 1, 1},
{&__pyx_n_s_container_name, __pyx_k_container_name, sizeof(__pyx_k_container_name), 0, 0, 1, 1},
{&__pyx_n_s_container_provider, __pyx_k_container_provider, sizeof(__pyx_k_container_provider), 0, 0, 1, 1},
{&__pyx_n_s_containers, __pyx_k_containers, sizeof(__pyx_k_containers), 0, 0, 1, 1},
+ {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1},
{&__pyx_n_s_copied, __pyx_k_copied, sizeof(__pyx_k_copied), 0, 0, 1, 1},
{&__pyx_n_s_copied_providers, __pyx_k_copied_providers, sizeof(__pyx_k_copied_providers), 0, 0, 1, 1},
{&__pyx_n_s_copied_self, __pyx_k_copied_self, sizeof(__pyx_k_copied_self), 0, 0, 1, 1},
{&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
{&__pyx_n_s_copy_locals__decorator, __pyx_k_copy_locals__decorator, sizeof(__pyx_k_copy_locals__decorator), 0, 0, 1, 1},
{&__pyx_n_s_copy_locals__get_memo_for_matchi, __pyx_k_copy_locals__get_memo_for_matchi, sizeof(__pyx_k_copy_locals__get_memo_for_matchi), 0, 0, 1, 1},
+ {&__pyx_n_s_copy_module, __pyx_k_copy_module, sizeof(__pyx_k_copy_module), 0, 0, 1, 1},
{&__pyx_n_s_declarative_parent, __pyx_k_declarative_parent, sizeof(__pyx_k_declarative_parent), 0, 0, 1, 1},
{&__pyx_n_s_decorator, __pyx_k_decorator, sizeof(__pyx_k_decorator), 0, 0, 1, 1},
{&__pyx_n_s_deepcopy, __pyx_k_deepcopy, sizeof(__pyx_k_deepcopy), 0, 0, 1, 1},
@@ -26392,6 +29645,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_filepath, __pyx_k_filepath, sizeof(__pyx_k_filepath), 0, 0, 1, 1},
{&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
{&__pyx_n_s_from_json_schema, __pyx_k_from_json_schema, sizeof(__pyx_k_from_json_schema), 0, 0, 1, 1},
+ {&__pyx_n_s_from_package, __pyx_k_from_package, sizeof(__pyx_k_from_package), 0, 0, 1, 1},
{&__pyx_n_s_from_schema, __pyx_k_from_schema, sizeof(__pyx_k_from_schema), 0, 0, 1, 1},
{&__pyx_n_s_from_yaml_schema, __pyx_k_from_yaml_schema, sizeof(__pyx_k_from_yaml_schema), 0, 0, 1, 1},
{&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
@@ -26403,9 +29657,12 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
{&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
{&__pyx_n_s_get_memo_for_matching_names, __pyx_k_get_memo_for_matching_names, sizeof(__pyx_k_get_memo_for_matching_names), 0, 0, 1, 1},
+ {&__pyx_n_s_getmodule, __pyx_k_getmodule, sizeof(__pyx_k_getmodule), 0, 0, 1, 1},
{&__pyx_kp_u_has_undefined_dependencies, __pyx_k_has_undefined_dependencies, sizeof(__pyx_k_has_undefined_dependencies), 0, 1, 0, 0},
{&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+ {&__pyx_n_s_import_module, __pyx_k_import_module, sizeof(__pyx_k_import_module), 0, 0, 1, 1},
+ {&__pyx_n_s_importlib, __pyx_k_importlib, sizeof(__pyx_k_importlib), 0, 0, 1, 1},
{&__pyx_n_s_independent_resources, __pyx_k_independent_resources, sizeof(__pyx_k_independent_resources), 0, 0, 1, 1},
{&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
{&__pyx_n_s_inherited_providers, __pyx_k_inherited_providers, sizeof(__pyx_k_inherited_providers), 0, 0, 1, 1},
@@ -26416,6 +29673,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1},
{&__pyx_n_s_instance_type, __pyx_k_instance_type, sizeof(__pyx_k_instance_type), 0, 0, 1, 1},
{&__pyx_n_s_is_async_mode_enabled, __pyx_k_is_async_mode_enabled, sizeof(__pyx_k_is_async_mode_enabled), 0, 0, 1, 1},
+ {&__pyx_n_s_is_auto_wiring_enabled, __pyx_k_is_auto_wiring_enabled, sizeof(__pyx_k_is_auto_wiring_enabled), 0, 0, 1, 1},
{&__pyx_n_s_is_defined, __pyx_k_is_defined, sizeof(__pyx_k_is_defined), 0, 0, 1, 1},
{&__pyx_n_s_iscoroutine, __pyx_k_iscoroutine, sizeof(__pyx_k_iscoroutine), 0, 0, 1, 1},
{&__pyx_n_s_isfuture, __pyx_k_isfuture, sizeof(__pyx_k_isfuture), 0, 0, 1, 1},
@@ -26426,6 +29684,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1},
{&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
{&__pyx_n_s_load, __pyx_k_load, sizeof(__pyx_k_load), 0, 0, 1, 1},
+ {&__pyx_n_s_load_config, __pyx_k_load_config, sizeof(__pyx_k_load_config), 0, 0, 1, 1},
{&__pyx_n_s_loader, __pyx_k_loader, sizeof(__pyx_k_loader), 0, 0, 1, 1},
{&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
{&__pyx_n_s_mcs, __pyx_k_mcs, sizeof(__pyx_k_mcs), 0, 0, 1, 1},
@@ -26444,6 +29703,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
{&__pyx_n_s_other_resource, __pyx_k_other_resource, sizeof(__pyx_k_other_resource), 0, 0, 1, 1},
{&__pyx_n_s_overridden, __pyx_k_overridden, sizeof(__pyx_k_overridden), 0, 0, 1, 1},
+ {&__pyx_n_s_overridden_providers, __pyx_k_overridden_providers, sizeof(__pyx_k_overridden_providers), 0, 0, 1, 1},
+ {&__pyx_n_s_overridden_providers_2, __pyx_k_overridden_providers_2, sizeof(__pyx_k_overridden_providers_2), 0, 0, 1, 1},
{&__pyx_n_s_override, __pyx_k_override, sizeof(__pyx_k_override), 0, 0, 1, 1},
{&__pyx_n_s_override_locals__decorator, __pyx_k_override_locals__decorator, sizeof(__pyx_k_override_locals__decorator), 0, 0, 1, 1},
{&__pyx_n_s_override_providers, __pyx_k_override_providers, sizeof(__pyx_k_override_providers), 0, 0, 1, 1},
@@ -26451,6 +29712,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_overriding_container, __pyx_k_overriding_container, sizeof(__pyx_k_overriding_container), 0, 0, 1, 1},
{&__pyx_n_s_overriding_provider, __pyx_k_overriding_provider, sizeof(__pyx_k_overriding_provider), 0, 0, 1, 1},
{&__pyx_n_s_overriding_providers, __pyx_k_overriding_providers, sizeof(__pyx_k_overriding_providers), 0, 0, 1, 1},
+ {&__pyx_n_s_package, __pyx_k_package, sizeof(__pyx_k_package), 0, 0, 1, 1},
{&__pyx_n_s_packages, __pyx_k_packages, sizeof(__pyx_k_packages), 0, 0, 1, 1},
{&__pyx_n_s_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 0, 1, 1},
{&__pyx_n_s_parent_name, __pyx_k_parent_name, sizeof(__pyx_k_parent_name), 0, 0, 1, 1},
@@ -26492,10 +29754,13 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_six, __pyx_k_six, sizeof(__pyx_k_six), 0, 0, 1, 1},
{&__pyx_n_s_source_provider, __pyx_k_source_provider, sizeof(__pyx_k_source_provider), 0, 0, 1, 1},
{&__pyx_kp_s_src_dependency_injector_containe, __pyx_k_src_dependency_injector_containe, sizeof(__pyx_k_src_dependency_injector_containe), 0, 0, 1, 0},
+ {&__pyx_n_s_stack, __pyx_k_stack, sizeof(__pyx_k_stack), 0, 0, 1, 1},
+ {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
{&__pyx_n_s_staticmethod, __pyx_k_staticmethod, sizeof(__pyx_k_staticmethod), 0, 0, 1, 1},
{&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
{&__pyx_n_s_sub_memo, __pyx_k_sub_memo, sizeof(__pyx_k_sub_memo), 0, 0, 1, 1},
{&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
+ {&__pyx_n_s_suppress, __pyx_k_suppress, sizeof(__pyx_k_suppress), 0, 0, 1, 1},
{&__pyx_n_s_sync_ordered_shutdown, __pyx_k_sync_ordered_shutdown, sizeof(__pyx_k_sync_ordered_shutdown), 0, 0, 1, 1},
{&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
@@ -26509,28 +29774,32 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
{&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
{&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1},
+ {&__pyx_n_s_warn, __pyx_k_warn, sizeof(__pyx_k_warn), 0, 0, 1, 1},
+ {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1},
{&__pyx_n_s_wire, __pyx_k_wire, sizeof(__pyx_k_wire), 0, 0, 1, 1},
{&__pyx_n_s_wired_to_modules, __pyx_k_wired_to_modules, sizeof(__pyx_k_wired_to_modules), 0, 0, 1, 1},
{&__pyx_n_s_wired_to_packages, __pyx_k_wired_to_packages, sizeof(__pyx_k_wired_to_packages), 0, 0, 1, 1},
{&__pyx_n_s_wiring, __pyx_k_wiring, sizeof(__pyx_k_wiring), 0, 0, 1, 1},
+ {&__pyx_n_s_wiring_config, __pyx_k_wiring_config, sizeof(__pyx_k_wiring_config), 0, 0, 1, 1},
{&__pyx_n_s_wrap, __pyx_k_wrap, sizeof(__pyx_k_wrap), 0, 0, 1, 1},
{&__pyx_n_s_yaml, __pyx_k_yaml, sizeof(__pyx_k_yaml), 0, 0, 1, 1},
{&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 8, __pyx_L1_error)
- __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 32, __pyx_L1_error)
- __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(0, 147, __pyx_L1_error)
- __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 545, __pyx_L1_error)
- __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 26, __pyx_L1_error)
- __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 80, __pyx_L1_error)
- __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 84, __pyx_L1_error)
- __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 212, __pyx_L1_error)
- __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 307, __pyx_L1_error)
- __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 386, __pyx_L1_error)
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 388, __pyx_L1_error)
- __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(1, 477, __pyx_L1_error)
+ __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 13, __pyx_L1_error)
+ __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(0, 41, __pyx_L1_error)
+ __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 58, __pyx_L1_error)
+ __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(0, 175, __pyx_L1_error)
+ __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 621, __pyx_L1_error)
+ __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 31, __pyx_L1_error)
+ __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 107, __pyx_L1_error)
+ __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 111, __pyx_L1_error)
+ __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 240, __pyx_L1_error)
+ __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 452, __pyx_L1_error)
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 391, __pyx_L1_error)
+ __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(1, 480, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -26540,121 +29809,121 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "dependency_injector/containers.pyx":26
+ /* "dependency_injector/containers.pyx":31
* else:
* def wire(*args, **kwargs):
* raise NotImplementedError('Wiring requires Python 3.6 or above') # <<<<<<<<<<<<<<
*
* def unwire(*args, **kwargs):
*/
- __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_Wiring_requires_Python_3_6_or_ab); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 26, __pyx_L1_error)
+ __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_Wiring_requires_Python_3_6_or_ab); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple_);
__Pyx_GIVEREF(__pyx_tuple_);
- /* "dependency_injector/containers.pyx":236
+ /* "dependency_injector/containers.pyx":267
* raise errors.Error('Container {0} is not overridden'.format(self))
*
* self.overridden = self.overridden[:-1] # <<<<<<<<<<<<<<
*
* for provider in six.itervalues(self.providers):
*/
- __pyx_slice__3 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 236, __pyx_L1_error)
+ __pyx_slice__3 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_slice__3);
__Pyx_GIVEREF(__pyx_slice__3);
- /* "dependency_injector/containers.pyx":307
+ /* "dependency_injector/containers.pyx":305
+ * elif self.declarative_parent is not None \
+ * and (self.wiring_config.modules or self.wiring_config.packages):
+ * with contextlib.suppress(Exception): # <<<<<<<<<<<<<<
+ * from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ * else:
+ */
+ __pyx_tuple__4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 305, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__4);
+ __Pyx_GIVEREF(__pyx_tuple__4);
+
+ /* "dependency_injector/containers.pyx":367
* resources_to_shutdown = list(_independent_resources(resources))
* if not resources_to_shutdown:
* raise RuntimeError('Unable to resolve resources shutdown order') # <<<<<<<<<<<<<<
* futures = []
* for resource in resources_to_shutdown:
*/
- __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_resolve_resources_shut); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 307, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__4);
- __Pyx_GIVEREF(__pyx_tuple__4);
+ __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_resolve_resources_shut); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__5);
+ __Pyx_GIVEREF(__pyx_tuple__5);
- /* "dependency_injector/containers.pyx":293
+ /* "dependency_injector/containers.pyx":353
* def shutdown_resources(self):
* """Shutdown all container resources."""
* def _independent_resources(resources): # <<<<<<<<<<<<<<
* for resource in resources:
* for other_resource in resources:
*/
- __pyx_tuple__5 = PyTuple_Pack(3, __pyx_n_s_resources, __pyx_n_s_resource, __pyx_n_s_other_resource); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 293, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__5);
- __Pyx_GIVEREF(__pyx_tuple__5);
- __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_independent_resources, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 293, __pyx_L1_error)
+ __pyx_tuple__6 = PyTuple_Pack(3, __pyx_n_s_resources, __pyx_n_s_resource, __pyx_n_s_other_resource); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 353, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__6);
+ __Pyx_GIVEREF(__pyx_tuple__6);
+ __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_independent_resources, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 353, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":303
+ /* "dependency_injector/containers.pyx":363
* yield resource
*
* async def _async_ordered_shutdown(resources): # <<<<<<<<<<<<<<
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
*/
- __pyx_tuple__7 = PyTuple_Pack(7, __pyx_n_s_resources, __pyx_n_s_resources_to_shutdown, __pyx_n_s_futures, __pyx_n_s_resource, __pyx_n_s_result, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 303, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__7);
- __Pyx_GIVEREF(__pyx_tuple__7);
- __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_async_ordered_shutdown, 303, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 303, __pyx_L1_error)
+ __pyx_tuple__8 = PyTuple_Pack(7, __pyx_n_s_resources, __pyx_n_s_resources_to_shutdown, __pyx_n_s_futures, __pyx_n_s_resource, __pyx_n_s_result, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 363, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__8);
+ __Pyx_GIVEREF(__pyx_tuple__8);
+ __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_async_ordered_shutdown, 363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 363, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":315
+ /* "dependency_injector/containers.pyx":375
* await asyncio.gather(*futures)
*
* def _sync_ordered_shutdown(resources): # <<<<<<<<<<<<<<
* while any(resource.initialized for resource in resources):
* resources_to_shutdown = list(_independent_resources(resources))
*/
- __pyx_tuple__9 = PyTuple_Pack(5, __pyx_n_s_resources, __pyx_n_s_resources_to_shutdown, __pyx_n_s_resource, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 315, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__9);
- __Pyx_GIVEREF(__pyx_tuple__9);
- __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_sync_ordered_shutdown, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 315, __pyx_L1_error)
+ __pyx_tuple__10 = PyTuple_Pack(5, __pyx_n_s_resources, __pyx_n_s_resources_to_shutdown, __pyx_n_s_resource, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 375, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__10);
+ __Pyx_GIVEREF(__pyx_tuple__10);
+ __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_sync_ordered_shutdown, 375, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 375, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":386
- * loader = yaml.SafeLoader
- *
- * with open(filepath) as file: # <<<<<<<<<<<<<<
- * schema = yaml.load(file, loader)
- *
- */
- __pyx_tuple__13 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 386, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__13);
- __Pyx_GIVEREF(__pyx_tuple__13);
-
- /* "dependency_injector/containers.pyx":729
+ /* "dependency_injector/containers.pyx":839
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _decorator(object overriding_container): # <<<<<<<<<<<<<<
* """Overriding decorator."""
* container.override(overriding_container)
*/
- __pyx_tuple__15 = PyTuple_Pack(1, __pyx_n_s_overriding_container); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 729, __pyx_L1_error)
+ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_n_s_overriding_container); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 839, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__15);
__Pyx_GIVEREF(__pyx_tuple__15);
- __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_decorator, 729, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 729, __pyx_L1_error)
+ __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_decorator, 839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 839, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":749
+ /* "dependency_injector/containers.pyx":859
* :rtype: callable(:py:class:`DeclarativeContainer`)
* """
* def _get_memo_for_matching_names(new_providers, base_providers): # <<<<<<<<<<<<<<
* memo = {}
* for new_provider_name, new_provider in six.iteritems(new_providers):
*/
- __pyx_tuple__17 = PyTuple_Pack(7, __pyx_n_s_new_providers, __pyx_n_s_base_providers, __pyx_n_s_memo, __pyx_n_s_new_provider_name, __pyx_n_s_new_provider, __pyx_n_s_source_provider, __pyx_n_s_sub_memo); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 749, __pyx_L1_error)
+ __pyx_tuple__17 = PyTuple_Pack(7, __pyx_n_s_new_providers, __pyx_n_s_base_providers, __pyx_n_s_memo, __pyx_n_s_new_provider_name, __pyx_n_s_new_provider, __pyx_n_s_source_provider, __pyx_n_s_sub_memo); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__17);
__Pyx_GIVEREF(__pyx_tuple__17);
- __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_get_memo_for_matching_names, 749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 749, __pyx_L1_error)
+ __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_get_memo_for_matching_names, 859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 859, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":762
+ /* "dependency_injector/containers.pyx":872
* return memo
*
* def _decorator(new_container): # <<<<<<<<<<<<<<
* memo = {}
* memo.update(_get_memo_for_matching_names(new_container.cls_providers, base_container.providers))
*/
- __pyx_tuple__19 = PyTuple_Pack(5, __pyx_n_s_new_container, __pyx_n_s_memo, __pyx_n_s_new_providers, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 762, __pyx_L1_error)
+ __pyx_tuple__19 = PyTuple_Pack(5, __pyx_n_s_new_container, __pyx_n_s_memo, __pyx_n_s_new_providers, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 872, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__19);
__Pyx_GIVEREF(__pyx_tuple__19);
- __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_decorator, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 762, __pyx_L1_error)
+ __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_decorator, 872, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 872, __pyx_L1_error)
/* "cfunc.to_py":65
* @cname("__Pyx_CFunc_void____object____object____object____object___to_py")
@@ -26663,587 +29932,699 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* """wrap(future_result, args, future_args_kwargs, future) -> 'void'"""
* f(future_result, args, future_args_kwargs, future)
*/
- __pyx_tuple__22 = PyTuple_Pack(4, __pyx_n_s_future_result, __pyx_n_s_args, __pyx_n_s_future_args_kwargs, __pyx_n_s_future); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__22);
- __Pyx_GIVEREF(__pyx_tuple__22);
- __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__24 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__24);
- __Pyx_GIVEREF(__pyx_tuple__24);
- __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__26 = PyTuple_Pack(3, __pyx_n_s_future_result, __pyx_n_s_call, __pyx_n_s_future); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__26);
- __Pyx_GIVEREF(__pyx_tuple__26);
- __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__28 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__28);
- __Pyx_GIVEREF(__pyx_tuple__28);
- __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__23 = PyTuple_Pack(4, __pyx_n_s_future_result, __pyx_n_s_args, __pyx_n_s_future_args_kwargs, __pyx_n_s_future); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__23);
+ __Pyx_GIVEREF(__pyx_tuple__23);
+ __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__25 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__25);
+ __Pyx_GIVEREF(__pyx_tuple__25);
+ __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__27 = PyTuple_Pack(3, __pyx_n_s_future_result, __pyx_n_s_call, __pyx_n_s_future); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__27);
+ __Pyx_GIVEREF(__pyx_tuple__27);
+ __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__29);
+ __Pyx_GIVEREF(__pyx_tuple__29);
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(2, 65, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":22
+ /* "dependency_injector/containers.pyx":27
*
*
* if sys.version_info[:2] >= (3, 6): # <<<<<<<<<<<<<<
* from .wiring import wire, unwire
* else:
*/
- __pyx_slice__31 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__31)) __PYX_ERR(0, 22, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_slice__31);
- __Pyx_GIVEREF(__pyx_slice__31);
- __pyx_tuple__32 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_6); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 22, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__32);
- __Pyx_GIVEREF(__pyx_tuple__32);
+ __pyx_slice__32 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__32)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_slice__32);
+ __Pyx_GIVEREF(__pyx_slice__32);
+ __pyx_tuple__33 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_6); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 27, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__33);
+ __Pyx_GIVEREF(__pyx_tuple__33);
- /* "dependency_injector/containers.pyx":25
+ /* "dependency_injector/containers.pyx":30
* from .wiring import wire, unwire
* else:
* def wire(*args, **kwargs): # <<<<<<<<<<<<<<
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
*/
- __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 25, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__33);
- __Pyx_GIVEREF(__pyx_tuple__33);
- __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_wire, 25, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 25, __pyx_L1_error)
+ __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 30, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__34);
+ __Pyx_GIVEREF(__pyx_tuple__34);
+ __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_wire, 30, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 30, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":28
+ /* "dependency_injector/containers.pyx":33
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
* def unwire(*args, **kwargs): # <<<<<<<<<<<<<<
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
*/
- __pyx_tuple__35 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 28, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
- __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_unwire, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 28, __pyx_L1_error)
+ __pyx_tuple__36 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 33, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__36);
+ __Pyx_GIVEREF(__pyx_tuple__36);
+ __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_unwire, 33, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 33, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":32
+ /* "dependency_injector/containers.pyx":36
+ * raise NotImplementedError('Wiring requires Python 3.6 or above')
+ *
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ __pyx_tuple__38 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_5); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__38);
+ __Pyx_GIVEREF(__pyx_tuple__38);
+
+ /* "dependency_injector/containers.pyx":37
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_Dependency_Injector_will_drop_su); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__39);
+ __Pyx_GIVEREF(__pyx_tuple__39);
+
+ /* "dependency_injector/containers.pyx":48
+ * """Container wiring configuration."""
+ *
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True): # <<<<<<<<<<<<<<
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else []
+ */
+ __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_modules, __pyx_n_s_packages, __pyx_n_s_from_package, __pyx_n_s_auto_wire); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__40);
+ __Pyx_GIVEREF(__pyx_tuple__40);
+ __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __pyx_tuple__42 = PyTuple_Pack(4, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__42);
+ __Pyx_GIVEREF(__pyx_tuple__42);
+
+ /* "dependency_injector/containers.pyx":54
+ * self.auto_wire = auto_wire
+ *
+ * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<<
+ * return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire)
+ *
+ */
+ __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
+ __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_deepcopy_2, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __pyx_tuple__45 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__45);
+ __Pyx_GIVEREF(__pyx_tuple__45);
+
+ /* "dependency_injector/containers.pyx":58
*
*
* class Container(object): # <<<<<<<<<<<<<<
* """Abstract container."""
*
*/
- __pyx_tuple__37 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__37);
- __Pyx_GIVEREF(__pyx_tuple__37);
+ __pyx_tuple__46 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 58, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__46);
+ __Pyx_GIVEREF(__pyx_tuple__46);
- /* "dependency_injector/containers.pyx":67
+ /* "dependency_injector/containers.pyx":93
* __IS_CONTAINER__ = True
*
* def __init__(self): # <<<<<<<<<<<<<<
* """Initializer.
*
*/
- __pyx_tuple__38 = PyTuple_Pack(1, __pyx_n_s_self_2); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 67, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__38);
- __Pyx_GIVEREF(__pyx_tuple__38);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_tuple__47 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 93, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__47);
+ __Pyx_GIVEREF(__pyx_tuple__47);
+ __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 93, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 93, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":82
+ /* "dependency_injector/containers.pyx":109
* super(DynamicContainer, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* """Create and return full copy of container."""
* copied = memo.get(id(self))
*/
- __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_self_2, __pyx_n_s_memo, __pyx_n_s_copied, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 82, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__40);
- __Pyx_GIVEREF(__pyx_tuple__40);
- __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_deepcopy_2, 82, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 82, __pyx_L1_error)
+ __pyx_tuple__49 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_memo, __pyx_n_s_copied, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 109, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__49);
+ __Pyx_GIVEREF(__pyx_tuple__49);
+ __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_deepcopy_2, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 109, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":106
+ /* "dependency_injector/containers.pyx":134
* return copied
*
* def __setattr__(self, name, value): # <<<<<<<<<<<<<<
* """Set instance attribute.
*
*/
- __pyx_tuple__42 = PyTuple_Pack(3, __pyx_n_s_self_2, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 106, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__42);
- __Pyx_GIVEREF(__pyx_tuple__42);
- __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_setattr, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 106, __pyx_L1_error)
+ __pyx_tuple__51 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 134, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__51);
+ __Pyx_GIVEREF(__pyx_tuple__51);
+ __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_setattr, 134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 134, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":132
+ /* "dependency_injector/containers.pyx":160
* super(DynamicContainer, self).__setattr__(name, value)
*
* def __delattr__(self, name): # <<<<<<<<<<<<<<
* """Delete instance attribute.
*
*/
- __pyx_tuple__44 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_name); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 132, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__44);
- __Pyx_GIVEREF(__pyx_tuple__44);
- __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_delattr, 132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 132, __pyx_L1_error)
+ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 160, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__53);
+ __Pyx_GIVEREF(__pyx_tuple__53);
+ __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_delattr, 160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 160, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":148
+ /* "dependency_injector/containers.pyx":176
*
* @property
* def dependencies(self): # <<<<<<<<<<<<<<
* """Return dependency providers dictionary.
*
*/
- __pyx_tuple__46 = PyTuple_Pack(3, __pyx_n_s_self_2, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 148, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__46);
- __Pyx_GIVEREF(__pyx_tuple__46);
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_dependencies, 148, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 148, __pyx_L1_error)
+ __pyx_tuple__55 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 176, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__55);
+ __Pyx_GIVEREF(__pyx_tuple__55);
+ __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_dependencies, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 176, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":163
+ /* "dependency_injector/containers.pyx":191
* }
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* yield from providers.traverse(*self.providers.values(), types=types)
*/
- __pyx_tuple__48 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_types); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 163, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__48);
- __Pyx_GIVEREF(__pyx_tuple__48);
- __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_traverse, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 163, __pyx_L1_error)
- __pyx_tuple__49 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 163, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__49);
- __Pyx_GIVEREF(__pyx_tuple__49);
+ __pyx_tuple__57 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_types); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 191, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__57);
+ __Pyx_GIVEREF(__pyx_tuple__57);
+ __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_traverse, 191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 191, __pyx_L1_error)
+ __pyx_tuple__58 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 191, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__58);
+ __Pyx_GIVEREF(__pyx_tuple__58);
- /* "dependency_injector/containers.pyx":167
+ /* "dependency_injector/containers.pyx":195
* yield from providers.traverse(*self.providers.values(), types=types)
*
* def set_providers(self, **providers): # <<<<<<<<<<<<<<
* """Set container providers.
*
*/
- __pyx_tuple__50 = PyTuple_Pack(4, __pyx_n_s_self_2, __pyx_n_s_providers, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 167, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__50);
- __Pyx_GIVEREF(__pyx_tuple__50);
- __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_set_providers, 167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 167, __pyx_L1_error)
+ __pyx_tuple__59 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_providers, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 195, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__59);
+ __Pyx_GIVEREF(__pyx_tuple__59);
+ __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_set_providers, 195, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 195, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":179
+ /* "dependency_injector/containers.pyx":207
* setattr(self, name, provider)
*
* def set_provider(self, name, provider): # <<<<<<<<<<<<<<
* """Set container provider.
*
*/
- __pyx_tuple__52 = PyTuple_Pack(3, __pyx_n_s_self_2, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 179, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__52);
- __Pyx_GIVEREF(__pyx_tuple__52);
- __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_set_provider, 179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 179, __pyx_L1_error)
+ __pyx_tuple__61 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 207, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__61);
+ __Pyx_GIVEREF(__pyx_tuple__61);
+ __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_set_provider, 207, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 207, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":192
+ /* "dependency_injector/containers.pyx":220
* setattr(self, name, provider)
*
* def override(self, object overriding): # <<<<<<<<<<<<<<
* """Override current container by overriding container.
*
*/
- __pyx_tuple__54 = PyTuple_Pack(4, __pyx_n_s_self_2, __pyx_n_s_overriding, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 192, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__54);
- __Pyx_GIVEREF(__pyx_tuple__54);
- __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 192, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 192, __pyx_L1_error)
+ __pyx_tuple__63 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_overriding, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 220, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__63);
+ __Pyx_GIVEREF(__pyx_tuple__63);
+ __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 220, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":215
+ /* "dependency_injector/containers.pyx":243
* pass
*
* def override_providers(self, **overriding_providers): # <<<<<<<<<<<<<<
* """Override container providers.
*
*/
- __pyx_tuple__56 = PyTuple_Pack(5, __pyx_n_s_self_2, __pyx_n_s_overriding_providers, __pyx_n_s_name, __pyx_n_s_overriding_provider, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__56);
- __Pyx_GIVEREF(__pyx_tuple__56);
- __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override_providers, 215, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 215, __pyx_L1_error)
+ __pyx_tuple__65 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_overriding_providers, __pyx_n_s_overridden_providers, __pyx_n_s_name, __pyx_n_s_overriding_provider, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 243, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__65);
+ __Pyx_GIVEREF(__pyx_tuple__65);
+ __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override_providers, 243, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 243, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":228
- * container_provider.override(overriding_provider)
+ /* "dependency_injector/containers.pyx":259
+ * return ProvidersOverridingContext(self, overridden_providers)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
*
*/
- __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 228, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__58);
- __Pyx_GIVEREF(__pyx_tuple__58);
- __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_last_overriding, 228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 228, __pyx_L1_error)
+ __pyx_tuple__67 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 259, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__67);
+ __Pyx_GIVEREF(__pyx_tuple__67);
+ __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_last_overriding, 259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 259, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":241
+ /* "dependency_injector/containers.pyx":272
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
* """Reset all overridings for each container providers.
*
*/
- __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 241, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__60);
- __Pyx_GIVEREF(__pyx_tuple__60);
- __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_override, 241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 241, __pyx_L1_error)
+ __pyx_tuple__69 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 272, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__69);
+ __Pyx_GIVEREF(__pyx_tuple__69);
+ __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_override, 272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 272, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":251
+ /* "dependency_injector/containers.pyx":282
* provider.reset_override()
*
- * def wire(self, modules=None, packages=None): # <<<<<<<<<<<<<<
+ * def is_auto_wiring_enabled(self): # <<<<<<<<<<<<<<
+ * """Check if auto wiring is needed."""
+ * return self.wiring_config.auto_wire is True
+ */
+ __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__71);
+ __Pyx_GIVEREF(__pyx_tuple__71);
+ __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_is_auto_wiring_enabled, 282, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 282, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":286
+ * return self.wiring_config.auto_wire is True
+ *
+ * def wire(self, modules=None, packages=None, from_package=None): # <<<<<<<<<<<<<<
* """Wire container providers with provided packages and modules.
*
*/
- __pyx_tuple__62 = PyTuple_Pack(3, __pyx_n_s_self_2, __pyx_n_s_modules, __pyx_n_s_packages); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 251, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__62);
- __Pyx_GIVEREF(__pyx_tuple__62);
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_wire, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 251, __pyx_L1_error)
- __pyx_tuple__64 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 251, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__64);
- __Pyx_GIVEREF(__pyx_tuple__64);
+ __pyx_tuple__73 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_modules, __pyx_n_s_packages, __pyx_n_s_from_package); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 286, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__73);
+ __Pyx_GIVEREF(__pyx_tuple__73);
+ __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_wire, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 286, __pyx_L1_error)
+ __pyx_tuple__75 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 286, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__75);
+ __Pyx_GIVEREF(__pyx_tuple__75);
- /* "dependency_injector/containers.pyx":268
+ /* "dependency_injector/containers.pyx":328
* self.wired_to_packages.extend(packages)
*
* def unwire(self): # <<<<<<<<<<<<<<
* """Unwire container providers from previously wired packages and modules."""
* unwire(
*/
- __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_self_2); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 268, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__65);
- __Pyx_GIVEREF(__pyx_tuple__65);
- __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_unwire, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 268, __pyx_L1_error)
+ __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 328, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__76);
+ __Pyx_GIVEREF(__pyx_tuple__76);
+ __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_unwire, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 328, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":278
+ /* "dependency_injector/containers.pyx":338
* self.wired_to_packages.clear()
*
* def init_resources(self): # <<<<<<<<<<<<<<
* """Initialize all container resources."""
* futures = []
*/
- __pyx_tuple__67 = PyTuple_Pack(4, __pyx_n_s_self_2, __pyx_n_s_futures, __pyx_n_s_provider, __pyx_n_s_resource); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 278, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__67);
- __Pyx_GIVEREF(__pyx_tuple__67);
- __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init_resources, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 278, __pyx_L1_error)
+ __pyx_tuple__78 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_futures, __pyx_n_s_provider, __pyx_n_s_resource); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 338, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__78);
+ __Pyx_GIVEREF(__pyx_tuple__78);
+ __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init_resources, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 338, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":291
+ /* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
* """Shutdown all container resources."""
* def _independent_resources(resources):
*/
- __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_self_2, __pyx_n_s_independent_resources, __pyx_n_s_independent_resources, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_sync_ordered_shutdown, __pyx_n_s_sync_ordered_shutdown, __pyx_n_s_resources, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 291, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__69);
- __Pyx_GIVEREF(__pyx_tuple__69);
- __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_shutdown_resources, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 291, __pyx_L1_error)
+ __pyx_tuple__80 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_independent_resources, __pyx_n_s_independent_resources, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_async_ordered_shutdown, __pyx_n_s_sync_ordered_shutdown, __pyx_n_s_sync_ordered_shutdown, __pyx_n_s_resources, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 351, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__80);
+ __Pyx_GIVEREF(__pyx_tuple__80);
+ __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_shutdown_resources, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(0, 351, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":329
+ /* "dependency_injector/containers.pyx":389
* return _sync_ordered_shutdown(resources)
*
+ * def load_config(self): # <<<<<<<<<<<<<<
+ * """Load configuration."""
+ * config: providers.Configuration
+ */
+ __pyx_tuple__82 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_config); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 389, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__82);
+ __Pyx_GIVEREF(__pyx_tuple__82);
+ __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_load_config, 389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(0, 389, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":395
+ * config.load()
+ *
* def apply_container_providers_overridings(self): # <<<<<<<<<<<<<<
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]):
*/
- __pyx_tuple__71 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 329, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__71);
- __Pyx_GIVEREF(__pyx_tuple__71);
- __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_apply_container_providers_overri, 329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 329, __pyx_L1_error)
+ __pyx_tuple__84 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 395, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__84);
+ __Pyx_GIVEREF(__pyx_tuple__84);
+ __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_apply_container_providers_overri, 395, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 395, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":334
+ /* "dependency_injector/containers.pyx":400
* provider.apply_overridings()
*
* def reset_singletons(self): # <<<<<<<<<<<<<<
* """Reset container singletons."""
* for provider in self.traverse(types=[providers.BaseSingleton]):
*/
- __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 334, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__73);
- __Pyx_GIVEREF(__pyx_tuple__73);
- __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_singletons, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 334, __pyx_L1_error)
+ __pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 400, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__86);
+ __Pyx_GIVEREF(__pyx_tuple__86);
+ __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_singletons, 400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 400, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":340
+ /* "dependency_injector/containers.pyx":406
* return SingletonResetContext(self)
*
* def check_dependencies(self): # <<<<<<<<<<<<<<
* """Check if container dependencies are defined.
*
*/
- __pyx_tuple__75 = PyTuple_Pack(5, __pyx_n_s_self_2, __pyx_n_s_undefined, __pyx_n_s_container_name, __pyx_n_s_undefined_names, __pyx_n_s_dependency); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 340, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__75);
- __Pyx_GIVEREF(__pyx_tuple__75);
- __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_check_dependencies, 340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 340, __pyx_L1_error)
+ __pyx_tuple__88 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_undefined, __pyx_n_s_container_name, __pyx_n_s_undefined_names, __pyx_n_s_dependency); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 406, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__88);
+ __Pyx_GIVEREF(__pyx_tuple__88);
+ __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_check_dependencies, 406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(0, 406, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":364
+ /* "dependency_injector/containers.pyx":430
* )
*
* def from_schema(self, schema): # <<<<<<<<<<<<<<
* """Build container providers from schema."""
* from .schema import build_schema
*/
- __pyx_tuple__77 = PyTuple_Pack(5, __pyx_n_s_self_2, __pyx_n_s_schema, __pyx_n_s_build_schema, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 364, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__77);
- __Pyx_GIVEREF(__pyx_tuple__77);
- __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_schema, 364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 364, __pyx_L1_error)
+ __pyx_tuple__90 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_schema, __pyx_n_s_build_schema, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 430, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__90);
+ __Pyx_GIVEREF(__pyx_tuple__90);
+ __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_schema, 430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(0, 430, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":370
+ /* "dependency_injector/containers.pyx":436
* self.set_provider(name, provider)
*
* def from_yaml_schema(self, filepath, loader=None): # <<<<<<<<<<<<<<
* """Build container providers from YAML schema.
*
*/
- __pyx_tuple__79 = PyTuple_Pack(5, __pyx_n_s_self_2, __pyx_n_s_filepath, __pyx_n_s_loader, __pyx_n_s_file, __pyx_n_s_schema); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 370, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__79);
- __Pyx_GIVEREF(__pyx_tuple__79);
- __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_yaml_schema, 370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 370, __pyx_L1_error)
- __pyx_tuple__81 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 370, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__81);
- __Pyx_GIVEREF(__pyx_tuple__81);
+ __pyx_tuple__92 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_filepath, __pyx_n_s_loader, __pyx_n_s_file, __pyx_n_s_schema); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 436, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__92);
+ __Pyx_GIVEREF(__pyx_tuple__92);
+ __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_yaml_schema, 436, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(0, 436, __pyx_L1_error)
+ __pyx_tuple__94 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 436, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__94);
+ __Pyx_GIVEREF(__pyx_tuple__94);
- /* "dependency_injector/containers.pyx":391
+ /* "dependency_injector/containers.pyx":457
* self.from_schema(schema)
*
* def from_json_schema(self, filepath): # <<<<<<<<<<<<<<
* """Build container providers from JSON schema."""
* with open(filepath) as file:
*/
- __pyx_tuple__82 = PyTuple_Pack(4, __pyx_n_s_self_2, __pyx_n_s_filepath, __pyx_n_s_file, __pyx_n_s_schema); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 391, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__82);
- __Pyx_GIVEREF(__pyx_tuple__82);
- __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_json_schema, 391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(0, 391, __pyx_L1_error)
+ __pyx_tuple__95 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_filepath, __pyx_n_s_file, __pyx_n_s_schema); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__95);
+ __Pyx_GIVEREF(__pyx_tuple__95);
+ __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_from_json_schema, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 457, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":397
+ /* "dependency_injector/containers.pyx":463
* self.from_schema(schema)
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
*/
- __pyx_tuple__84 = PyTuple_Pack(4, __pyx_n_s_self_2, __pyx_n_s_provider, __pyx_n_s_provider_name, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 397, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__84);
- __Pyx_GIVEREF(__pyx_tuple__84);
- __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_resolve_provider_name, 397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 397, __pyx_L1_error)
+ __pyx_tuple__97 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_provider, __pyx_n_s_provider_name, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 463, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__97);
+ __Pyx_GIVEREF(__pyx_tuple__97);
+ __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_resolve_provider_name, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(0, 463, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":406
+ /* "dependency_injector/containers.pyx":472
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
* """Return parent name."""
* if self.parent:
*/
- __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_self_2); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 406, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__86);
- __Pyx_GIVEREF(__pyx_tuple__86);
- __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_parent_name, 406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 406, __pyx_L1_error)
+ __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 472, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__99);
+ __Pyx_GIVEREF(__pyx_tuple__99);
+ __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_parent_name, 472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(0, 472, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":416
+ /* "dependency_injector/containers.pyx":482
* return None
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
* """Assign parent."""
* self.parent = parent
*/
- __pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_parent); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 416, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__88);
- __Pyx_GIVEREF(__pyx_tuple__88);
- __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_assign_parent, 416, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(0, 416, __pyx_L1_error)
+ __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_parent); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 482, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__101);
+ __Pyx_GIVEREF(__pyx_tuple__101);
+ __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_assign_parent, 482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(0, 482, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":424
+ /* "dependency_injector/containers.pyx":490
* """Declarative inversion of control container meta class."""
*
* def __new__(type mcs, str class_name, tuple bases, dict attributes): # <<<<<<<<<<<<<<
* """Declarative container class factory."""
* self = mcs.__fetch_self(attributes)
*/
- __pyx_tuple__90 = PyTuple_Pack(18, __pyx_n_s_mcs, __pyx_n_s_class_name, __pyx_n_s_bases, __pyx_n_s_attributes, __pyx_n_s_self_2, __pyx_n_s_containers, __pyx_n_s_cls_providers, __pyx_n_s_inherited_providers, __pyx_n_s_all_providers, __pyx_n_s_cls, __pyx_n_s_provider, __pyx_n_s_name, __pyx_n_s_container, __pyx_n_s_name, __pyx_n_s_provider, __pyx_n_s_base, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 424, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__90);
- __Pyx_GIVEREF(__pyx_tuple__90);
- __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(4, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_new, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(0, 424, __pyx_L1_error)
+ __pyx_tuple__103 = PyTuple_Pack(19, __pyx_n_s_mcs, __pyx_n_s_class_name, __pyx_n_s_bases, __pyx_n_s_attributes, __pyx_n_s_self, __pyx_n_s_containers, __pyx_n_s_cls_providers, __pyx_n_s_inherited_providers, __pyx_n_s_all_providers, __pyx_n_s_wiring_config, __pyx_n_s_cls, __pyx_n_s_provider, __pyx_n_s_name, __pyx_n_s_container, __pyx_n_s_name, __pyx_n_s_provider, __pyx_n_s_base, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 490, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__103);
+ __Pyx_GIVEREF(__pyx_tuple__103);
+ __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(4, 0, 19, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_new, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(0, 490, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":472
+ /* "dependency_injector/containers.pyx":548
* return cls
*
* def __setattr__(cls, name, value): # <<<<<<<<<<<<<<
* """Set class attribute.
*
*/
- __pyx_tuple__92 = PyTuple_Pack(3, __pyx_n_s_cls, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 472, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__92);
- __Pyx_GIVEREF(__pyx_tuple__92);
- __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_setattr, 472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(0, 472, __pyx_L1_error)
+ __pyx_tuple__105 = PyTuple_Pack(3, __pyx_n_s_cls, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 548, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__105);
+ __Pyx_GIVEREF(__pyx_tuple__105);
+ __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_setattr, 548, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 548, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":496
+ /* "dependency_injector/containers.pyx":572
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*
* def __delattr__(cls, name): # <<<<<<<<<<<<<<
* """Delete class attribute.
*
*/
- __pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_name); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 496, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__94);
- __Pyx_GIVEREF(__pyx_tuple__94);
- __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_delattr, 496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) __PYX_ERR(0, 496, __pyx_L1_error)
+ __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_name); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 572, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__107);
+ __Pyx_GIVEREF(__pyx_tuple__107);
+ __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_delattr, 572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(0, 572, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":513
+ /* "dependency_injector/containers.pyx":589
*
* @property
* def dependencies(cls): # <<<<<<<<<<<<<<
* """Return dependency providers dictionary.
*
*/
- __pyx_tuple__96 = PyTuple_Pack(3, __pyx_n_s_cls, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 513, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__96);
- __Pyx_GIVEREF(__pyx_tuple__96);
- __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_dependencies, 513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(0, 513, __pyx_L1_error)
+ __pyx_tuple__109 = PyTuple_Pack(3, __pyx_n_s_cls, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 589, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__109);
+ __Pyx_GIVEREF(__pyx_tuple__109);
+ __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_dependencies, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(0, 589, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":528
+ /* "dependency_injector/containers.pyx":604
* }
*
* def traverse(cls, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* yield from providers.traverse(*cls.providers.values(), types=types)
*/
- __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_types); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 528, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__98);
- __Pyx_GIVEREF(__pyx_tuple__98);
- __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_traverse, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 528, __pyx_L1_error)
- __pyx_tuple__99 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 528, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__99);
- __Pyx_GIVEREF(__pyx_tuple__99);
+ __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_types); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 604, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__111);
+ __Pyx_GIVEREF(__pyx_tuple__111);
+ __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_traverse, 604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 604, __pyx_L1_error)
+ __pyx_tuple__112 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 604, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__112);
+ __Pyx_GIVEREF(__pyx_tuple__112);
- /* "dependency_injector/containers.pyx":532
+ /* "dependency_injector/containers.pyx":608
* yield from providers.traverse(*cls.providers.values(), types=types)
*
* def resolve_provider_name(cls, provider): # <<<<<<<<<<<<<<
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items():
*/
- __pyx_tuple__100 = PyTuple_Pack(4, __pyx_n_s_cls, __pyx_n_s_provider, __pyx_n_s_provider_name, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 532, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__100);
- __Pyx_GIVEREF(__pyx_tuple__100);
- __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_resolve_provider_name, 532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(0, 532, __pyx_L1_error)
+ __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_cls, __pyx_n_s_provider, __pyx_n_s_provider_name, __pyx_n_s_container_provider); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 608, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__113);
+ __Pyx_GIVEREF(__pyx_tuple__113);
+ __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_resolve_provider_name, 608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(0, 608, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":541
+ /* "dependency_injector/containers.pyx":617
*
* @property
* def parent_name(cls): # <<<<<<<<<<<<<<
* """Return parent name."""
* return cls.__name__
*/
- __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_cls); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 541, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__102);
- __Pyx_GIVEREF(__pyx_tuple__102);
- __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_parent_name, 541, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(0, 541, __pyx_L1_error)
+ __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_cls); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 617, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__115);
+ __Pyx_GIVEREF(__pyx_tuple__115);
+ __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_parent_name, 617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(0, 617, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":546
+ /* "dependency_injector/containers.pyx":622
*
* @staticmethod
* def __fetch_self(attributes): # <<<<<<<<<<<<<<
* self = None
* alt_names = []
*/
- __pyx_tuple__104 = PyTuple_Pack(5, __pyx_n_s_attributes, __pyx_n_s_self_2, __pyx_n_s_alt_names, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 546, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__104);
- __Pyx_GIVEREF(__pyx_tuple__104);
- __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_fetch_self, 546, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(0, 546, __pyx_L1_error)
+ __pyx_tuple__117 = PyTuple_Pack(5, __pyx_n_s_attributes, __pyx_n_s_self, __pyx_n_s_alt_names, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 622, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__117);
+ __Pyx_GIVEREF(__pyx_tuple__117);
+ __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_fetch_self, 622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(0, 622, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":631
+ /* "dependency_injector/containers.pyx":719
* """
*
* def __new__(cls, **overriding_providers): # <<<<<<<<<<<<<<
* """Constructor.
*
*/
- __pyx_tuple__106 = PyTuple_Pack(7, __pyx_n_s_cls, __pyx_n_s_overriding_providers, __pyx_n_s_container, __pyx_n_s_copied_providers, __pyx_n_s_copied_self, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 631, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__106);
- __Pyx_GIVEREF(__pyx_tuple__106);
- __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_new, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(0, 631, __pyx_L1_error)
+ __pyx_tuple__119 = PyTuple_Pack(7, __pyx_n_s_cls, __pyx_n_s_overriding_providers, __pyx_n_s_container, __pyx_n_s_copied_providers, __pyx_n_s_copied_self, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 719, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__119);
+ __Pyx_GIVEREF(__pyx_tuple__119);
+ __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_new, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 719, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":658
+ /* "dependency_injector/containers.pyx":753
*
* @classmethod
* def override(cls, object overriding): # <<<<<<<<<<<<<<
* """Override current container by overriding container.
*
*/
- __pyx_tuple__108 = PyTuple_Pack(4, __pyx_n_s_cls, __pyx_n_s_overriding, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 658, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__108);
- __Pyx_GIVEREF(__pyx_tuple__108);
- __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 658, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(0, 658, __pyx_L1_error)
+ __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_cls, __pyx_n_s_overriding, __pyx_n_s_name, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 753, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__121);
+ __Pyx_GIVEREF(__pyx_tuple__121);
+ __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(0, 753, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":682
+ /* "dependency_injector/containers.pyx":777
*
* @classmethod
* def reset_last_overriding(cls): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
*
*/
- __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 682, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__110);
- __Pyx_GIVEREF(__pyx_tuple__110);
- __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_last_overriding, 682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 682, __pyx_L1_error)
+ __pyx_tuple__123 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 777, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__123);
+ __Pyx_GIVEREF(__pyx_tuple__123);
+ __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_last_overriding, 777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(0, 777, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":696
+ /* "dependency_injector/containers.pyx":791
*
* @classmethod
* def reset_override(cls): # <<<<<<<<<<<<<<
* """Reset all overridings for each container providers.
*
*/
- __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 696, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__112);
- __Pyx_GIVEREF(__pyx_tuple__112);
- __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_override, 696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(0, 696, __pyx_L1_error)
+ __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 791, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__125);
+ __Pyx_GIVEREF(__pyx_tuple__125);
+ __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_reset_override, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 791, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":709
+ /* "dependency_injector/containers.pyx":804
* class SingletonResetContext:
*
* def __init__(self, container): # <<<<<<<<<<<<<<
* self._container = container
*
*/
- __pyx_tuple__114 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s_container); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 709, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__114);
- __Pyx_GIVEREF(__pyx_tuple__114);
- __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 709, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) __PYX_ERR(0, 709, __pyx_L1_error)
+ __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_container); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 804, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__127);
+ __Pyx_GIVEREF(__pyx_tuple__127);
+ __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) __PYX_ERR(0, 804, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":712
+ /* "dependency_injector/containers.pyx":807
* self._container = container
*
* def __enter__(self): # <<<<<<<<<<<<<<
* return self._container
*
*/
- __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_self_2); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 712, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__116);
- __Pyx_GIVEREF(__pyx_tuple__116);
- __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_enter, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(0, 712, __pyx_L1_error)
+ __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 807, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__129);
+ __Pyx_GIVEREF(__pyx_tuple__129);
+ __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_enter, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(0, 807, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":715
+ /* "dependency_injector/containers.pyx":810
* return self._container
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
* self._container.reset_singletons()
*
*/
- __pyx_tuple__119 = PyTuple_Pack(2, __pyx_n_s_self_2, __pyx_n_s__118); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 715, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__119);
- __Pyx_GIVEREF(__pyx_tuple__119);
- __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_exit, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 715, __pyx_L1_error)
+ __pyx_tuple__132 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s__131); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 810, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__132);
+ __Pyx_GIVEREF(__pyx_tuple__132);
+ __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_exit, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(0, 810, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":719
+ /* "dependency_injector/containers.pyx":817
+ * class ProvidersOverridingContext:
+ *
+ * def __init__(self, container, overridden_providers): # <<<<<<<<<<<<<<
+ * self._container = container
+ * self._overridden_providers = overridden_providers
+ */
+ __pyx_tuple__134 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_container, __pyx_n_s_overridden_providers); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 817, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__134);
+ __Pyx_GIVEREF(__pyx_tuple__134);
+ __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_init, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(0, 817, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":821
+ * self._overridden_providers = overridden_providers
+ *
+ * def __enter__(self): # <<<<<<<<<<<<<<
+ * return self._container
+ *
+ */
+ __pyx_tuple__136 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 821, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__136);
+ __Pyx_GIVEREF(__pyx_tuple__136);
+ __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_enter, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(0, 821, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":824
+ * return self._container
+ *
+ * def __exit__(self, *_): # <<<<<<<<<<<<<<
+ * for provider in self._overridden_providers:
+ * provider.reset_last_overriding()
+ */
+ __pyx_tuple__138 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s__131, __pyx_n_s_provider); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 824, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__138);
+ __Pyx_GIVEREF(__pyx_tuple__138);
+ __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_exit, 824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(0, 824, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
* """:py:class:`DeclarativeContainer` overriding decorator.
*
*/
- __pyx_tuple__121 = PyTuple_Pack(3, __pyx_n_s_container, __pyx_n_s_decorator, __pyx_n_s_decorator); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 719, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__121);
- __Pyx_GIVEREF(__pyx_tuple__121);
- __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(0, 719, __pyx_L1_error)
+ __pyx_tuple__140 = PyTuple_Pack(3, __pyx_n_s_container, __pyx_n_s_decorator, __pyx_n_s_decorator); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 829, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__140);
+ __Pyx_GIVEREF(__pyx_tuple__140);
+ __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_override, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 829, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":736
+ /* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
* """:py:class:`DeclarativeContainer` copying decorator.
*
*/
- __pyx_tuple__123 = PyTuple_Pack(5, __pyx_n_s_base_container, __pyx_n_s_get_memo_for_matching_names, __pyx_n_s_get_memo_for_matching_names, __pyx_n_s_decorator, __pyx_n_s_decorator); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 736, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__123);
- __Pyx_GIVEREF(__pyx_tuple__123);
- __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_copy, 736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(0, 736, __pyx_L1_error)
+ __pyx_tuple__142 = PyTuple_Pack(5, __pyx_n_s_base_container, __pyx_n_s_get_memo_for_matching_names, __pyx_n_s_get_memo_for_matching_names, __pyx_n_s_decorator, __pyx_n_s_decorator); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 846, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__142);
+ __Pyx_GIVEREF(__pyx_tuple__142);
+ __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_containe, __pyx_n_s_copy, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) __PYX_ERR(0, 846, __pyx_L1_error)
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -27252,11 +30633,13 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
}
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
+ __pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type;
__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
__pyx_umethod_PyDict_Type_update.type = (PyObject*)&PyDict_Type;
if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
__pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error)
return 0;
@@ -27311,7 +30694,7 @@ static int __Pyx_modinit_type_init_code(void) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
/*--- Type init code ---*/
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct__traverse) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct__traverse) < 0) __PYX_ERR(0, 191, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct__traverse.tp_print = 0;
#endif
@@ -27319,7 +30702,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct__traverse.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct__traverse = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct__traverse;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources) < 0) __PYX_ERR(0, 291, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources.tp_print = 0;
#endif
@@ -27327,7 +30710,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_1_shutdown_resources;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources) < 0) __PYX_ERR(0, 293, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources) < 0) __PYX_ERR(0, 353, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources.tp_print = 0;
#endif
@@ -27335,7 +30718,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_2__independent_resources;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown) < 0) __PYX_ERR(0, 303, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown.tp_print = 0;
#endif
@@ -27343,7 +30726,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_3__async_ordered_shutdown;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_4_genexpr) < 0) __PYX_ERR(0, 304, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_4_genexpr) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_4_genexpr.tp_print = 0;
#endif
@@ -27351,7 +30734,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_4_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_4_genexpr = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_4_genexpr;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown) < 0) __PYX_ERR(0, 375, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown.tp_print = 0;
#endif
@@ -27359,7 +30742,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_5__sync_ordered_shutdown;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_6_genexpr) < 0) __PYX_ERR(0, 316, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_6_genexpr) < 0) __PYX_ERR(0, 376, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_6_genexpr.tp_print = 0;
#endif
@@ -27367,7 +30750,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_6_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_6_genexpr = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_6_genexpr;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(0, 324, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(0, 384, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_7_genexpr.tp_print = 0;
#endif
@@ -27375,7 +30758,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_7_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_7_genexpr = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_7_genexpr;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_8_traverse) < 0) __PYX_ERR(0, 528, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_8_traverse) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_8_traverse.tp_print = 0;
#endif
@@ -27383,7 +30766,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_8_traverse.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_8_traverse = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_8_traverse;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_9_override) < 0) __PYX_ERR(0, 719, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_9_override) < 0) __PYX_ERR(0, 829, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_9_override.tp_print = 0;
#endif
@@ -27391,7 +30774,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_9_override.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_10containers___pyx_scope_struct_9_override = &__pyx_type_19dependency_injector_10containers___pyx_scope_struct_9_override;
- if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_10_copy) < 0) __PYX_ERR(0, 736, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_10containers___pyx_scope_struct_10_copy) < 0) __PYX_ERR(0, 846, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_10containers___pyx_scope_struct_10_copy.tp_print = 0;
#endif
@@ -27503,91 +30886,91 @@ static int __Pyx_modinit_type_import_code(void) {
if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 113, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 113, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 121, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 121, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 124, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 124, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 130, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 130, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 133, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 133, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 134, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 134, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 137, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 137, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 138, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 138, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 141, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 141, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 142, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 142, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 145, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 145, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 149, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 149, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 152, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 152, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 154, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 154, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 157, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 157, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 159, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 159, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 162, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 162, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 163, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 163, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 166, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 166, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 172, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 172, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 173, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 173, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 176, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 176, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 178, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 178, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 181, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 181, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 186, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 186, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 187, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 187, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 190, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 190, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 191, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 191, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 194, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 194, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 197, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 197, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 200, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 200, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 204, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 204, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 207, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 207, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 211, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 211, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 214, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 214, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 226, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 226, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 229, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 229, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 235, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 235, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 238, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 238, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 243, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 243, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 246, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 246, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 249, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 249, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 252, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 252, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 256, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 256, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 259, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 259, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 263, __pyx_L1_error)
- __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 263, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 266, __pyx_L1_error)
+ __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 266, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 274, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 277, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 281, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 284, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 285, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 288, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 296, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 299, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 301, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 304, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 305, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 308, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __Pyx_ImportType_CheckSize_Warn);
- if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 309, __pyx_L1_error)
+ if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 312, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_RefNannyFinishContext();
return 0;
@@ -27782,11 +31165,9 @@ if (!__Pyx_RefNanny) {
#endif
/*--- Library function declarations ---*/
/*--- Threads initialization code ---*/
- #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
- #ifdef WITH_THREAD /* Python build with threading support? */
+ #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
PyEval_InitThreads();
#endif
- #endif
/*--- Module creation code ---*/
#if CYTHON_PEP489_MULTI_PHASE_INIT
__pyx_m = __pyx_pyinit_module;
@@ -27842,29 +31223,89 @@ if (!__Pyx_RefNanny) {
/* "dependency_injector/containers.pyx":3
* """Containers module."""
*
- * import json # <<<<<<<<<<<<<<
- * import sys
- *
+ * import contextlib # <<<<<<<<<<<<<<
+ * import copy as copy_module
+ * import json
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_json, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_json, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "dependency_injector/containers.pyx":4
*
+ * import contextlib
+ * import copy as copy_module # <<<<<<<<<<<<<<
* import json
- * import sys # <<<<<<<<<<<<<<
- *
- * try:
+ * import sys
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy_module, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":5
+ * import contextlib
+ * import copy as copy_module
+ * import json # <<<<<<<<<<<<<<
+ * import sys
+ * import importlib
+ */
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_json, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_json, __pyx_t_1) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "dependency_injector/containers.pyx":6
+ * import copy as copy_module
+ * import json
+ * import sys # <<<<<<<<<<<<<<
+ * import importlib
+ * import inspect
+ */
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":7
+ * import json
* import sys
+ * import importlib # <<<<<<<<<<<<<<
+ * import inspect
+ * import warnings
+ */
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_importlib, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_importlib, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":8
+ * import sys
+ * import importlib
+ * import inspect # <<<<<<<<<<<<<<
+ * import warnings
+ *
+ */
+ __pyx_t_1 = __Pyx_patch_inspect(__Pyx_Import(__pyx_n_s_inspect, 0, -1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_inspect, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":9
+ * import importlib
+ * import inspect
+ * import warnings # <<<<<<<<<<<<<<
+ *
+ * try:
+ */
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_warnings, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_warnings, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":11
+ * import warnings
*
* try: # <<<<<<<<<<<<<<
* import asyncio
@@ -27879,20 +31320,20 @@ if (!__Pyx_RefNanny) {
__Pyx_XGOTREF(__pyx_t_4);
/*try:*/ {
- /* "dependency_injector/containers.pyx":7
+ /* "dependency_injector/containers.pyx":12
*
* try:
* import asyncio # <<<<<<<<<<<<<<
* except ImportError:
* asyncio = None
*/
- __pyx_t_1 = __Pyx_patch_asyncio(__Pyx_Import(__pyx_n_s_asyncio, 0, -1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L2_error)
+ __pyx_t_1 = __Pyx_patch_asyncio(__Pyx_Import(__pyx_n_s_asyncio, 0, -1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L2_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L2_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, __pyx_t_1) < 0) __PYX_ERR(0, 12, __pyx_L2_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":6
- * import sys
+ /* "dependency_injector/containers.pyx":11
+ * import warnings
*
* try: # <<<<<<<<<<<<<<
* import asyncio
@@ -27906,7 +31347,7 @@ if (!__Pyx_RefNanny) {
__pyx_L2_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":8
+ /* "dependency_injector/containers.pyx":13
* try:
* import asyncio
* except ImportError: # <<<<<<<<<<<<<<
@@ -27916,19 +31357,19 @@ if (!__Pyx_RefNanny) {
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.containers", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 8, __pyx_L4_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 13, __pyx_L4_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/containers.pyx":9
+ /* "dependency_injector/containers.pyx":14
* import asyncio
* except ImportError:
* asyncio = None # <<<<<<<<<<<<<<
*
* try:
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, Py_None) < 0) __PYX_ERR(0, 9, __pyx_L4_except_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, Py_None) < 0) __PYX_ERR(0, 14, __pyx_L4_except_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -27937,8 +31378,8 @@ if (!__Pyx_RefNanny) {
goto __pyx_L4_except_error;
__pyx_L4_except_error:;
- /* "dependency_injector/containers.pyx":6
- * import sys
+ /* "dependency_injector/containers.pyx":11
+ * import warnings
*
* try: # <<<<<<<<<<<<<<
* import asyncio
@@ -27957,7 +31398,7 @@ if (!__Pyx_RefNanny) {
__pyx_L7_try_end:;
}
- /* "dependency_injector/containers.pyx":11
+ /* "dependency_injector/containers.pyx":16
* asyncio = None
*
* try: # <<<<<<<<<<<<<<
@@ -27973,19 +31414,19 @@ if (!__Pyx_RefNanny) {
__Pyx_XGOTREF(__pyx_t_2);
/*try:*/ {
- /* "dependency_injector/containers.pyx":12
+ /* "dependency_injector/containers.pyx":17
*
* try:
* import yaml # <<<<<<<<<<<<<<
* except ImportError:
* yaml = None
*/
- __pyx_t_7 = __Pyx_Import(__pyx_n_s_yaml, 0, -1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L10_error)
+ __pyx_t_7 = __Pyx_Import(__pyx_n_s_yaml, 0, -1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_yaml, __pyx_t_7) < 0) __PYX_ERR(0, 12, __pyx_L10_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_yaml, __pyx_t_7) < 0) __PYX_ERR(0, 17, __pyx_L10_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":11
+ /* "dependency_injector/containers.pyx":16
* asyncio = None
*
* try: # <<<<<<<<<<<<<<
@@ -28002,7 +31443,7 @@ if (!__Pyx_RefNanny) {
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":13
+ /* "dependency_injector/containers.pyx":18
* try:
* import yaml
* except ImportError: # <<<<<<<<<<<<<<
@@ -28012,19 +31453,19 @@ if (!__Pyx_RefNanny) {
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.containers", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L12_except_error)
+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L12_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/containers.pyx":14
+ /* "dependency_injector/containers.pyx":19
* import yaml
* except ImportError:
* yaml = None # <<<<<<<<<<<<<<
*
* import six
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_yaml, Py_None) < 0) __PYX_ERR(0, 14, __pyx_L12_except_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_yaml, Py_None) < 0) __PYX_ERR(0, 19, __pyx_L12_except_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -28033,7 +31474,7 @@ if (!__Pyx_RefNanny) {
goto __pyx_L12_except_error;
__pyx_L12_except_error:;
- /* "dependency_injector/containers.pyx":11
+ /* "dependency_injector/containers.pyx":16
* asyncio = None
*
* try: # <<<<<<<<<<<<<<
@@ -28053,26 +31494,26 @@ if (!__Pyx_RefNanny) {
__pyx_L15_try_end:;
}
- /* "dependency_injector/containers.pyx":16
+ /* "dependency_injector/containers.pyx":21
* yaml = None
*
* import six # <<<<<<<<<<<<<<
*
* from . import providers, errors
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_six, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_six, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_six, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_six, __pyx_t_1) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":18
+ /* "dependency_injector/containers.pyx":23
* import six
*
* from . import providers, errors # <<<<<<<<<<<<<<
* from .providers cimport __is_future_or_coroutine
*
*/
- __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_providers);
__Pyx_GIVEREF(__pyx_n_s_providers);
@@ -28080,48 +31521,48 @@ if (!__Pyx_RefNanny) {
__Pyx_INCREF(__pyx_n_s_errors);
__Pyx_GIVEREF(__pyx_n_s_errors);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_errors);
- __pyx_t_6 = __Pyx_Import(__pyx_n_s__30, __pyx_t_1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_Import(__pyx_n_s__31, __pyx_t_1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_providers, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_providers, __pyx_t_1) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_errors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_errors, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_errors, __pyx_t_1) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":22
+ /* "dependency_injector/containers.pyx":27
*
*
* if sys.version_info[:2] >= (3, 6): # <<<<<<<<<<<<<<
* from .wiring import wire, unwire
* else:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_sys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_sys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_version_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_version_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 2, NULL, NULL, &__pyx_slice__31, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 2, NULL, NULL, &__pyx_slice__32, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_tuple__32, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_tuple__33, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 22, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_8) {
- /* "dependency_injector/containers.pyx":23
+ /* "dependency_injector/containers.pyx":28
*
* if sys.version_info[:2] >= (3, 6):
* from .wiring import wire, unwire # <<<<<<<<<<<<<<
* else:
* def wire(*args, **kwargs):
*/
- __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_wire);
__Pyx_GIVEREF(__pyx_n_s_wire);
@@ -28129,20 +31570,20 @@ if (!__Pyx_RefNanny) {
__Pyx_INCREF(__pyx_n_s_unwire);
__Pyx_GIVEREF(__pyx_n_s_unwire);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_unwire);
- __pyx_t_6 = __Pyx_Import(__pyx_n_s_wiring, __pyx_t_1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_Import(__pyx_n_s_wiring, __pyx_t_1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_wire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_wire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_wire, __pyx_t_1) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_wire, __pyx_t_1) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_unwire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_unwire); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_unwire, __pyx_t_1) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_unwire, __pyx_t_1) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":22
+ /* "dependency_injector/containers.pyx":27
*
*
* if sys.version_info[:2] >= (3, 6): # <<<<<<<<<<<<<<
@@ -28152,7 +31593,7 @@ if (!__Pyx_RefNanny) {
goto __pyx_L18;
}
- /* "dependency_injector/containers.pyx":25
+ /* "dependency_injector/containers.pyx":30
* from .wiring import wire, unwire
* else:
* def wire(*args, **kwargs): # <<<<<<<<<<<<<<
@@ -28160,602 +31601,742 @@ if (!__Pyx_RefNanny) {
*
*/
/*else*/ {
- __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_1wire, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 25, __pyx_L1_error)
+ __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_1wire, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_wire, __pyx_t_6) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_wire, __pyx_t_6) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/containers.pyx":28
+ /* "dependency_injector/containers.pyx":33
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
* def unwire(*args, **kwargs): # <<<<<<<<<<<<<<
* raise NotImplementedError('Wiring requires Python 3.6 or above')
*
*/
- __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_3unwire, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28, __pyx_L1_error)
+ __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_3unwire, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_unwire, __pyx_t_6) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_unwire, __pyx_t_6) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_L18:;
- /* "dependency_injector/containers.pyx":32
+ /* "dependency_injector/containers.pyx":36
+ * raise NotImplementedError('Wiring requires Python 3.6 or above')
+ *
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_sys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_version_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 2, NULL, NULL, &__pyx_slice__32, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_tuple__38, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (__pyx_t_8) {
+
+ /* "dependency_injector/containers.pyx":37
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_warnings); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warn); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":41
+ * "This does not mean that there will be any immediate breaking changes, "
+ * "but tests will no longer be executed on Python 3.5, and bugs will not be addressed.",
+ * category=DeprecationWarning, # <<<<<<<<<<<<<<
+ * )
+ *
+ */
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":37
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__39, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "dependency_injector/containers.pyx":36
+ * raise NotImplementedError('Wiring requires Python 3.6 or above')
+ *
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ }
+
+ /* "dependency_injector/containers.pyx":45
+ *
+ *
+ * class WiringConfiguration: # <<<<<<<<<<<<<<
+ * """Container wiring configuration."""
+ *
+ */
+ __pyx_t_7 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_WiringConfiguration, __pyx_n_s_WiringConfiguration, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Container_wiring_configuration); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+
+ /* "dependency_injector/containers.pyx":48
+ * """Container wiring configuration."""
+ *
+ * def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True): # <<<<<<<<<<<<<<
+ * self.modules = [*modules] if modules else []
+ * self.packages = [*packages] if packages else []
+ */
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_19WiringConfiguration_1__init__, 0, __pyx_n_s_WiringConfiguration___init, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__42);
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":54
+ * self.auto_wire = auto_wire
+ *
+ * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<<
+ * return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire)
+ *
+ */
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_19WiringConfiguration_3__deepcopy__, 0, __pyx_n_s_WiringConfiguration___deepcopy, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__45);
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_deepcopy_2, __pyx_t_1) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":45
+ *
+ *
+ * class WiringConfiguration: # <<<<<<<<<<<<<<
+ * """Container wiring configuration."""
+ *
+ */
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_WiringConfiguration, __pyx_empty_tuple, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_WiringConfiguration, __pyx_t_1) < 0) __PYX_ERR(0, 45, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "dependency_injector/containers.pyx":58
*
*
* class Container(object): # <<<<<<<<<<<<<<
* """Abstract container."""
*
*/
- __pyx_t_6 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__37); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_6, __pyx_tuple__37, __pyx_n_s_Container, __pyx_n_s_Container, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Abstract_container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_6, __pyx_n_s_Container, __pyx_tuple__37, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__46); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Container, __pyx_t_7) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_tuple__46, __pyx_n_s_Container, __pyx_n_s_Container, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Abstract_container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_Container, __pyx_tuple__46, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 58, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_Container, __pyx_t_6) < 0) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":36
+ /* "dependency_injector/containers.pyx":62
*
*
* class DynamicContainer(Container): # <<<<<<<<<<<<<<
* """Dynamic inversion of control container.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Container); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_6);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
- __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_6, __pyx_t_1, __pyx_n_s_DynamicContainer, __pyx_n_s_DynamicContainer, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Dynamic_inversion_of_control_con); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Container); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 62, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_DynamicContainer, __pyx_n_s_DynamicContainer, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Dynamic_inversion_of_control_con); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 62, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/containers.pyx":65
+ /* "dependency_injector/containers.pyx":91
* """
*
* __IS_CONTAINER__ = True # <<<<<<<<<<<<<<
*
* def __init__(self):
*/
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_IS_CONTAINER, Py_True) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_IS_CONTAINER, Py_True) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":67
+ /* "dependency_injector/containers.pyx":93
* __IS_CONTAINER__ = True
*
* def __init__(self): # <<<<<<<<<<<<<<
* """Initializer.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_1__init__, 0, __pyx_n_s_DynamicContainer___init, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 67, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_1__init__, 0, __pyx_n_s_DynamicContainer___init, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_init, __pyx_t_9) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_init, __pyx_t_9) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":82
+ /* "dependency_injector/containers.pyx":109
* super(DynamicContainer, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* """Create and return full copy of container."""
* copied = memo.get(id(self))
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_3__deepcopy__, 0, __pyx_n_s_DynamicContainer___deepcopy, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 82, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_3__deepcopy__, 0, __pyx_n_s_DynamicContainer___deepcopy, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_deepcopy_2, __pyx_t_9) < 0) __PYX_ERR(0, 82, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_deepcopy_2, __pyx_t_9) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":106
+ /* "dependency_injector/containers.pyx":134
* return copied
*
* def __setattr__(self, name, value): # <<<<<<<<<<<<<<
* """Set instance attribute.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_5__setattr__, 0, __pyx_n_s_DynamicContainer___setattr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_5__setattr__, 0, __pyx_n_s_DynamicContainer___setattr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_setattr, __pyx_t_9) < 0) __PYX_ERR(0, 106, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_setattr, __pyx_t_9) < 0) __PYX_ERR(0, 134, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":132
+ /* "dependency_injector/containers.pyx":160
* super(DynamicContainer, self).__setattr__(name, value)
*
* def __delattr__(self, name): # <<<<<<<<<<<<<<
* """Delete instance attribute.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_7__delattr__, 0, __pyx_n_s_DynamicContainer___delattr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 132, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_7__delattr__, 0, __pyx_n_s_DynamicContainer___delattr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_delattr, __pyx_t_9) < 0) __PYX_ERR(0, 132, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_delattr, __pyx_t_9) < 0) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":148
+ /* "dependency_injector/containers.pyx":176
*
* @property
* def dependencies(self): # <<<<<<<<<<<<<<
* """Return dependency providers dictionary.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_9dependencies, 0, __pyx_n_s_DynamicContainer_dependencies, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 148, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_9dependencies, 0, __pyx_n_s_DynamicContainer_dependencies, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 176, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/containers.pyx":147
+ /* "dependency_injector/containers.pyx":175
* super(DynamicContainer, self).__delattr__(name)
*
* @property # <<<<<<<<<<<<<<
* def dependencies(self):
* """Return dependency providers dictionary.
*/
- __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 147, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 175, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 148, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 176, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":163
+ /* "dependency_injector/containers.pyx":191
* }
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* yield from providers.traverse(*self.providers.values(), types=types)
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_11traverse, 0, __pyx_n_s_DynamicContainer_traverse, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_11traverse, 0, __pyx_n_s_DynamicContainer_traverse, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__49);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_traverse, __pyx_t_10) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__58);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_traverse, __pyx_t_10) < 0) __PYX_ERR(0, 191, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":167
+ /* "dependency_injector/containers.pyx":195
* yield from providers.traverse(*self.providers.values(), types=types)
*
* def set_providers(self, **providers): # <<<<<<<<<<<<<<
* """Set container providers.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_14set_providers, 0, __pyx_n_s_DynamicContainer_set_providers, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 167, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_14set_providers, 0, __pyx_n_s_DynamicContainer_set_providers, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_set_providers, __pyx_t_10) < 0) __PYX_ERR(0, 167, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_set_providers, __pyx_t_10) < 0) __PYX_ERR(0, 195, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":179
+ /* "dependency_injector/containers.pyx":207
* setattr(self, name, provider)
*
* def set_provider(self, name, provider): # <<<<<<<<<<<<<<
* """Set container provider.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_16set_provider, 0, __pyx_n_s_DynamicContainer_set_provider, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 179, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_16set_provider, 0, __pyx_n_s_DynamicContainer_set_provider, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 207, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_set_provider, __pyx_t_10) < 0) __PYX_ERR(0, 179, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_set_provider, __pyx_t_10) < 0) __PYX_ERR(0, 207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":192
+ /* "dependency_injector/containers.pyx":220
* setattr(self, name, provider)
*
* def override(self, object overriding): # <<<<<<<<<<<<<<
* """Override current container by overriding container.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18override, 0, __pyx_n_s_DynamicContainer_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 192, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_18override, 0, __pyx_n_s_DynamicContainer_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_override, __pyx_t_10) < 0) __PYX_ERR(0, 192, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_override, __pyx_t_10) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":215
+ /* "dependency_injector/containers.pyx":243
* pass
*
* def override_providers(self, **overriding_providers): # <<<<<<<<<<<<<<
* """Override container providers.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_20override_providers, 0, __pyx_n_s_DynamicContainer_override_provid, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 215, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_20override_providers, 0, __pyx_n_s_DynamicContainer_override_provid, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_override_providers, __pyx_t_10) < 0) __PYX_ERR(0, 215, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_override_providers, __pyx_t_10) < 0) __PYX_ERR(0, 243, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":228
- * container_provider.override(overriding_provider)
+ /* "dependency_injector/containers.pyx":259
+ * return ProvidersOverridingContext(self, overridden_providers)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_22reset_last_overriding, 0, __pyx_n_s_DynamicContainer_reset_last_over, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 228, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_22reset_last_overriding, 0, __pyx_n_s_DynamicContainer_reset_last_over, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_reset_last_overriding, __pyx_t_10) < 0) __PYX_ERR(0, 228, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_reset_last_overriding, __pyx_t_10) < 0) __PYX_ERR(0, 259, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":241
+ /* "dependency_injector/containers.pyx":272
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
* """Reset all overridings for each container providers.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_24reset_override, 0, __pyx_n_s_DynamicContainer_reset_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 241, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_24reset_override, 0, __pyx_n_s_DynamicContainer_reset_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 272, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_reset_override, __pyx_t_10) < 0) __PYX_ERR(0, 241, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_reset_override, __pyx_t_10) < 0) __PYX_ERR(0, 272, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":251
+ /* "dependency_injector/containers.pyx":282
* provider.reset_override()
*
- * def wire(self, modules=None, packages=None): # <<<<<<<<<<<<<<
+ * def is_auto_wiring_enabled(self): # <<<<<<<<<<<<<<
+ * """Check if auto wiring is needed."""
+ * return self.wiring_config.auto_wire is True
+ */
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_26is_auto_wiring_enabled, 0, __pyx_n_s_DynamicContainer_is_auto_wiring, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 282, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_is_auto_wiring_enabled, __pyx_t_10) < 0) __PYX_ERR(0, 282, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+ /* "dependency_injector/containers.pyx":286
+ * return self.wiring_config.auto_wire is True
+ *
+ * def wire(self, modules=None, packages=None, from_package=None): # <<<<<<<<<<<<<<
* """Wire container providers with provided packages and modules.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_26wire, 0, __pyx_n_s_DynamicContainer_wire, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 251, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_28wire, 0, __pyx_n_s_DynamicContainer_wire, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__64);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_wire, __pyx_t_10) < 0) __PYX_ERR(0, 251, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__75);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_wire, __pyx_t_10) < 0) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":268
+ /* "dependency_injector/containers.pyx":328
* self.wired_to_packages.extend(packages)
*
* def unwire(self): # <<<<<<<<<<<<<<
* """Unwire container providers from previously wired packages and modules."""
* unwire(
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_28unwire, 0, __pyx_n_s_DynamicContainer_unwire, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 268, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_30unwire, 0, __pyx_n_s_DynamicContainer_unwire, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_unwire, __pyx_t_10) < 0) __PYX_ERR(0, 268, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_unwire, __pyx_t_10) < 0) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":278
+ /* "dependency_injector/containers.pyx":338
* self.wired_to_packages.clear()
*
* def init_resources(self): # <<<<<<<<<<<<<<
* """Initialize all container resources."""
* futures = []
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_30init_resources, 0, __pyx_n_s_DynamicContainer_init_resources, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 278, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_32init_resources, 0, __pyx_n_s_DynamicContainer_init_resources, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_init_resources, __pyx_t_10) < 0) __PYX_ERR(0, 278, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_init_resources, __pyx_t_10) < 0) __PYX_ERR(0, 338, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":291
+ /* "dependency_injector/containers.pyx":351
* return asyncio.gather(*futures)
*
* def shutdown_resources(self): # <<<<<<<<<<<<<<
* """Shutdown all container resources."""
* def _independent_resources(resources):
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_32shutdown_resources, 0, __pyx_n_s_DynamicContainer_shutdown_resour_7, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 291, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_34shutdown_resources, 0, __pyx_n_s_DynamicContainer_shutdown_resour_7, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 351, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_shutdown_resources, __pyx_t_10) < 0) __PYX_ERR(0, 291, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_shutdown_resources, __pyx_t_10) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":329
+ /* "dependency_injector/containers.pyx":389
* return _sync_ordered_shutdown(resources)
*
+ * def load_config(self): # <<<<<<<<<<<<<<
+ * """Load configuration."""
+ * config: providers.Configuration
+ */
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_36load_config, 0, __pyx_n_s_DynamicContainer_load_config, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__83)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 389, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_load_config, __pyx_t_10) < 0) __PYX_ERR(0, 389, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+ /* "dependency_injector/containers.pyx":395
+ * config.load()
+ *
* def apply_container_providers_overridings(self): # <<<<<<<<<<<<<<
* """Apply container providers' overridings."""
* for provider in self.traverse(types=[providers.Container]):
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_34apply_container_providers_overridings, 0, __pyx_n_s_DynamicContainer_apply_container, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 329, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_38apply_container_providers_overridings, 0, __pyx_n_s_DynamicContainer_apply_container, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_apply_container_providers_overri, __pyx_t_10) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_apply_container_providers_overri, __pyx_t_10) < 0) __PYX_ERR(0, 395, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":334
+ /* "dependency_injector/containers.pyx":400
* provider.apply_overridings()
*
* def reset_singletons(self): # <<<<<<<<<<<<<<
* """Reset container singletons."""
* for provider in self.traverse(types=[providers.BaseSingleton]):
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_36reset_singletons, 0, __pyx_n_s_DynamicContainer_reset_singleton, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 334, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_40reset_singletons, 0, __pyx_n_s_DynamicContainer_reset_singleton, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_reset_singletons, __pyx_t_10) < 0) __PYX_ERR(0, 334, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_reset_singletons, __pyx_t_10) < 0) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":340
+ /* "dependency_injector/containers.pyx":406
* return SingletonResetContext(self)
*
* def check_dependencies(self): # <<<<<<<<<<<<<<
* """Check if container dependencies are defined.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_38check_dependencies, 0, __pyx_n_s_DynamicContainer_check_dependenc, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 340, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_42check_dependencies, 0, __pyx_n_s_DynamicContainer_check_dependenc, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_check_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 340, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_check_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":364
+ /* "dependency_injector/containers.pyx":430
* )
*
* def from_schema(self, schema): # <<<<<<<<<<<<<<
* """Build container providers from schema."""
* from .schema import build_schema
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_40from_schema, 0, __pyx_n_s_DynamicContainer_from_schema, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 364, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_44from_schema, 0, __pyx_n_s_DynamicContainer_from_schema, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__91)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_from_schema, __pyx_t_10) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_from_schema, __pyx_t_10) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":370
+ /* "dependency_injector/containers.pyx":436
* self.set_provider(name, provider)
*
* def from_yaml_schema(self, filepath, loader=None): # <<<<<<<<<<<<<<
* """Build container providers from YAML schema.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_42from_yaml_schema, 0, __pyx_n_s_DynamicContainer_from_yaml_schem, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 370, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_46from_yaml_schema, 0, __pyx_n_s_DynamicContainer_from_yaml_schem, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__93)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 436, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__81);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_from_yaml_schema, __pyx_t_10) < 0) __PYX_ERR(0, 370, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__94);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_from_yaml_schema, __pyx_t_10) < 0) __PYX_ERR(0, 436, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":391
+ /* "dependency_injector/containers.pyx":457
* self.from_schema(schema)
*
* def from_json_schema(self, filepath): # <<<<<<<<<<<<<<
* """Build container providers from JSON schema."""
* with open(filepath) as file:
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_44from_json_schema, 0, __pyx_n_s_DynamicContainer_from_json_schem, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__83)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 391, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_48from_json_schema, 0, __pyx_n_s_DynamicContainer_from_json_schem, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_from_json_schema, __pyx_t_10) < 0) __PYX_ERR(0, 391, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_from_json_schema, __pyx_t_10) < 0) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":397
+ /* "dependency_injector/containers.pyx":463
* self.from_schema(schema)
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_46resolve_provider_name, 0, __pyx_n_s_DynamicContainer_resolve_provide, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 397, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_50resolve_provider_name, 0, __pyx_n_s_DynamicContainer_resolve_provide, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__98)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_resolve_provider_name, __pyx_t_10) < 0) __PYX_ERR(0, 397, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_resolve_provider_name, __pyx_t_10) < 0) __PYX_ERR(0, 463, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":406
+ /* "dependency_injector/containers.pyx":472
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
* """Return parent name."""
* if self.parent:
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_48parent_name, 0, __pyx_n_s_DynamicContainer_parent_name, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 406, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_52parent_name, 0, __pyx_n_s_DynamicContainer_parent_name, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__100)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "dependency_injector/containers.pyx":405
+ /* "dependency_injector/containers.pyx":471
* raise errors.Error(f'Can not resolve name for provider "{provider}"')
*
* @property # <<<<<<<<<<<<<<
* def parent_name(self):
* """Return parent name."""
*/
- __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 405, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 471, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_parent_name, __pyx_t_9) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_parent_name, __pyx_t_9) < 0) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":416
+ /* "dependency_injector/containers.pyx":482
* return None
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
* """Assign parent."""
* self.parent = parent
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_50assign_parent, 0, __pyx_n_s_DynamicContainer_assign_parent, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 416, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_16DynamicContainer_54assign_parent, 0, __pyx_n_s_DynamicContainer_assign_parent, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__102)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 482, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_assign_parent, __pyx_t_9) < 0) __PYX_ERR(0, 416, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_assign_parent, __pyx_t_9) < 0) __PYX_ERR(0, 482, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":36
+ /* "dependency_injector/containers.pyx":62
*
*
* class DynamicContainer(Container): # <<<<<<<<<<<<<<
* """Dynamic inversion of control container.
*
*/
- __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_6, __pyx_n_s_DynamicContainer, __pyx_t_1, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_DynamicContainer, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 62, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DynamicContainer, __pyx_t_9) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DynamicContainer, __pyx_t_9) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":421
+ /* "dependency_injector/containers.pyx":487
*
*
* class DeclarativeContainerMetaClass(type): # <<<<<<<<<<<<<<
* """Declarative inversion of control container meta class."""
*
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&PyType_Type)));
__Pyx_GIVEREF(((PyObject *)(&PyType_Type)));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&PyType_Type)));
- __pyx_t_6 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 421, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_6, __pyx_t_1, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_n_s_DeclarativeContainerMetaClass_2, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Declarative_inversion_of_control); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 421, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 487, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_n_s_DeclarativeContainerMetaClass_2, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Declarative_inversion_of_control); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 487, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/containers.pyx":424
+ /* "dependency_injector/containers.pyx":490
* """Declarative inversion of control container meta class."""
*
* def __new__(type mcs, str class_name, tuple bases, dict attributes): # <<<<<<<<<<<<<<
* """Declarative container class factory."""
* self = mcs.__fetch_self(attributes)
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainerMetaClass_3, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__91)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 424, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainerMetaClass_3, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 490, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_new, __pyx_t_9) < 0) __PYX_ERR(0, 424, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_new, __pyx_t_9) < 0) __PYX_ERR(0, 490, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":472
+ /* "dependency_injector/containers.pyx":548
* return cls
*
* def __setattr__(cls, name, value): # <<<<<<<<<<<<<<
* """Set class attribute.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_3__setattr__, 0, __pyx_n_s_DeclarativeContainerMetaClass_4, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__93)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 472, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_3__setattr__, 0, __pyx_n_s_DeclarativeContainerMetaClass_4, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_setattr, __pyx_t_9) < 0) __PYX_ERR(0, 472, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_setattr, __pyx_t_9) < 0) __PYX_ERR(0, 548, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":496
+ /* "dependency_injector/containers.pyx":572
* super(DeclarativeContainerMetaClass, cls).__setattr__(name, value)
*
* def __delattr__(cls, name): # <<<<<<<<<<<<<<
* """Delete class attribute.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_5__delattr__, 0, __pyx_n_s_DeclarativeContainerMetaClass_5, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__95)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 496, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_5__delattr__, 0, __pyx_n_s_DeclarativeContainerMetaClass_5, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__108)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_delattr, __pyx_t_9) < 0) __PYX_ERR(0, 496, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_delattr, __pyx_t_9) < 0) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":513
+ /* "dependency_injector/containers.pyx":589
*
* @property
* def dependencies(cls): # <<<<<<<<<<<<<<
* """Return dependency providers dictionary.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_7dependencies, 0, __pyx_n_s_DeclarativeContainerMetaClass_de, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__97)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 513, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_7dependencies, 0, __pyx_n_s_DeclarativeContainerMetaClass_de, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__110)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 589, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/containers.pyx":512
+ /* "dependency_injector/containers.pyx":588
* super(DeclarativeContainerMetaClass, cls).__delattr__(name)
*
* @property # <<<<<<<<<<<<<<
* def dependencies(cls):
* """Return dependency providers dictionary.
*/
- __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 512, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 513, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_dependencies, __pyx_t_10) < 0) __PYX_ERR(0, 589, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":528
+ /* "dependency_injector/containers.pyx":604
* }
*
* def traverse(cls, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* yield from providers.traverse(*cls.providers.values(), types=types)
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_9traverse, 0, __pyx_n_s_DeclarativeContainerMetaClass_tr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 528, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_9traverse, 0, __pyx_n_s_DeclarativeContainerMetaClass_tr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__99);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_traverse, __pyx_t_10) < 0) __PYX_ERR(0, 528, __pyx_L1_error)
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_tuple__112);
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_traverse, __pyx_t_10) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":532
+ /* "dependency_injector/containers.pyx":608
* yield from providers.traverse(*cls.providers.values(), types=types)
*
* def resolve_provider_name(cls, provider): # <<<<<<<<<<<<<<
* """Try to resolve provider name."""
* for provider_name, container_provider in cls.providers.items():
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_12resolve_provider_name, 0, __pyx_n_s_DeclarativeContainerMetaClass_re, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__101)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 532, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_12resolve_provider_name, 0, __pyx_n_s_DeclarativeContainerMetaClass_re, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_resolve_provider_name, __pyx_t_10) < 0) __PYX_ERR(0, 532, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_resolve_provider_name, __pyx_t_10) < 0) __PYX_ERR(0, 608, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":541
+ /* "dependency_injector/containers.pyx":617
*
* @property
* def parent_name(cls): # <<<<<<<<<<<<<<
* """Return parent name."""
* return cls.__name__
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_14parent_name, 0, __pyx_n_s_DeclarativeContainerMetaClass_pa, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__103)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 541, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_14parent_name, 0, __pyx_n_s_DeclarativeContainerMetaClass_pa, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "dependency_injector/containers.pyx":540
+ /* "dependency_injector/containers.pyx":616
* raise errors.Error(f'Can not resolve name for provider "{provider}"')
*
* @property # <<<<<<<<<<<<<<
* def parent_name(cls):
* """Return parent name."""
*/
- __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 540, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_property, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_parent_name, __pyx_t_9) < 0) __PYX_ERR(0, 541, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_parent_name, __pyx_t_9) < 0) __PYX_ERR(0, 617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":546
+ /* "dependency_injector/containers.pyx":622
*
* @staticmethod
* def __fetch_self(attributes): # <<<<<<<<<<<<<<
* self = None
* alt_names = []
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_16__fetch_self, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainerMetaClass_6, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__105)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 546, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_29DeclarativeContainerMetaClass_16__fetch_self, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainerMetaClass_6, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__118)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 622, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/containers.pyx":545
+ /* "dependency_injector/containers.pyx":621
* return cls.__name__
*
* @staticmethod # <<<<<<<<<<<<<<
* def __fetch_self(attributes):
* self = None
*/
- __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 545, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_DeclarativeContainerMetaClass, __pyx_t_10) < 0) __PYX_ERR(0, 546, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_DeclarativeContainerMetaClass, __pyx_t_10) < 0) __PYX_ERR(0, 622, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":421
+ /* "dependency_injector/containers.pyx":487
*
*
* class DeclarativeContainerMetaClass(type): # <<<<<<<<<<<<<<
* """Declarative inversion of control container meta class."""
*
*/
- __pyx_t_10 = __Pyx_Py3ClassCreate(__pyx_t_6, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_t_1, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 421, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_t_10) < 0) __PYX_ERR(0, 421, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DeclarativeContainerMetaClass_2, __pyx_t_10) < 0) __PYX_ERR(0, 487, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":569
+ /* "dependency_injector/containers.pyx":645
*
* @six.add_metaclass(DeclarativeContainerMetaClass)
* class DeclarativeContainer(Container): # <<<<<<<<<<<<<<
* """Declarative inversion of control container.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Container); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 569, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- __Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_6, __pyx_n_s_DeclarativeContainer, __pyx_n_s_DeclarativeContainer, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Declarative_inversion_of_control_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_7, __pyx_n_s_DeclarativeContainer, __pyx_n_s_DeclarativeContainer, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, __pyx_kp_s_Declarative_inversion_of_control_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 645, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/containers.pyx":580
+ /* "dependency_injector/containers.pyx":656
* """
*
* __IS_CONTAINER__ = True # <<<<<<<<<<<<<<
*
* provider_type = providers.Provider
*/
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_IS_CONTAINER, Py_True) < 0) __PYX_ERR(0, 580, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_IS_CONTAINER, Py_True) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":582
+ /* "dependency_injector/containers.pyx":658
* __IS_CONTAINER__ = True
*
* provider_type = providers.Provider # <<<<<<<<<<<<<<
@@ -28763,189 +32344,225 @@ if (!__Pyx_RefNanny) {
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_providers);
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 582, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_Provider); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 582, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_Provider); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_provider_type, __pyx_t_9) < 0) __PYX_ERR(0, 582, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_provider_type, __pyx_t_9) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":588
+ /* "dependency_injector/containers.pyx":664
* """
*
* instance_type = DynamicContainer # <<<<<<<<<<<<<<
* """Type of container that is returned on instantiating declarative
* container.
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 588, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_DynamicContainer); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 664, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_instance_type, __pyx_t_9) < 0) __PYX_ERR(0, 588, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_instance_type, __pyx_t_9) < 0) __PYX_ERR(0, 664, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":595
+ /* "dependency_injector/containers.pyx":671
* """
*
* containers = dict() # <<<<<<<<<<<<<<
* """Read-only dictionary of all nested containers.
*
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 595, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_containers, __pyx_t_9) < 0) __PYX_ERR(0, 595, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_containers, __pyx_t_9) < 0) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":601
+ /* "dependency_injector/containers.pyx":677
* """
*
* providers = dict() # <<<<<<<<<<<<<<
* """Read-only dictionary of all providers.
*
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 601, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_providers, __pyx_t_9) < 0) __PYX_ERR(0, 601, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_providers, __pyx_t_9) < 0) __PYX_ERR(0, 677, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":607
+ /* "dependency_injector/containers.pyx":683
+ * """
+ *
+ * wiring_config = WiringConfiguration() # <<<<<<<<<<<<<<
+ * """Wiring configuration.
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_WiringConfiguration); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 683, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ __pyx_t_11 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+ if (likely(__pyx_t_11)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_10, function);
+ }
+ }
+ __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 683, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_wiring_config, __pyx_t_9) < 0) __PYX_ERR(0, 683, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "dependency_injector/containers.pyx":689
+ * """
+ *
+ * auto_load_config = True # <<<<<<<<<<<<<<
+ * """Automatically load configuration when the container is created.
+ *
+ */
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_auto_load_config, Py_True) < 0) __PYX_ERR(0, 689, __pyx_L1_error)
+
+ /* "dependency_injector/containers.pyx":695
* """
*
* cls_providers = dict() # <<<<<<<<<<<<<<
* """Read-only dictionary of current container providers.
*
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 607, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_cls_providers, __pyx_t_9) < 0) __PYX_ERR(0, 607, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_cls_providers, __pyx_t_9) < 0) __PYX_ERR(0, 695, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":613
+ /* "dependency_injector/containers.pyx":701
* """
*
* inherited_providers = dict() # <<<<<<<<<<<<<<
* """Read-only dictionary of inherited providers.
*
*/
- __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 613, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_inherited_providers, __pyx_t_9) < 0) __PYX_ERR(0, 613, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_inherited_providers, __pyx_t_9) < 0) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":619
+ /* "dependency_injector/containers.pyx":707
* """
*
* overridden = tuple() # <<<<<<<<<<<<<<
* """Tuple of overriding containers.
*
*/
- __pyx_t_9 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 619, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 707, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_overridden, __pyx_t_9) < 0) __PYX_ERR(0, 619, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_overridden, __pyx_t_9) < 0) __PYX_ERR(0, 707, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":625
+ /* "dependency_injector/containers.pyx":713
* """
*
* __self__ = None # <<<<<<<<<<<<<<
* """Provider that provides current container.
*
*/
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_self, Py_None) < 0) __PYX_ERR(0, 625, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_self_2, Py_None) < 0) __PYX_ERR(0, 713, __pyx_L1_error)
- /* "dependency_injector/containers.pyx":631
+ /* "dependency_injector/containers.pyx":719
* """
*
* def __new__(cls, **overriding_providers): # <<<<<<<<<<<<<<
* """Constructor.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainer___new, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 631, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_1__new__, __Pyx_CYFUNCTION_STATICMETHOD, __pyx_n_s_DeclarativeContainer___new, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_new, __pyx_t_9) < 0) __PYX_ERR(0, 631, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_new, __pyx_t_9) < 0) __PYX_ERR(0, 719, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":658
+ /* "dependency_injector/containers.pyx":753
*
* @classmethod
* def override(cls, object overriding): # <<<<<<<<<<<<<<
* """Override current container by overriding container.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_3override, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 658, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_3override, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_override, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 753, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/containers.pyx":657
+ /* "dependency_injector/containers.pyx":752
* return container
*
* @classmethod # <<<<<<<<<<<<<<
* def override(cls, object overriding):
* """Override current container by overriding container.
*/
- __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 657, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 752, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_override, __pyx_t_10) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_override, __pyx_t_10) < 0) __PYX_ERR(0, 753, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":682
+ /* "dependency_injector/containers.pyx":777
*
* @classmethod
* def reset_last_overriding(cls): # <<<<<<<<<<<<<<
* """Reset last overriding provider for each container providers.
*
*/
- __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_5reset_last_overriding, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_reset_last, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 682, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_5reset_last_overriding, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_reset_last, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "dependency_injector/containers.pyx":681
+ /* "dependency_injector/containers.pyx":776
* pass
*
* @classmethod # <<<<<<<<<<<<<<
* def reset_last_overriding(cls):
* """Reset last overriding provider for each container providers.
*/
- __pyx_t_9 = __Pyx_Method_ClassMethod(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 681, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_Method_ClassMethod(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_reset_last_overriding, __pyx_t_9) < 0) __PYX_ERR(0, 682, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_reset_last_overriding, __pyx_t_9) < 0) __PYX_ERR(0, 777, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/containers.pyx":696
+ /* "dependency_injector/containers.pyx":791
*
* @classmethod
* def reset_override(cls): # <<<<<<<<<<<<<<
* """Reset all overridings for each container providers.
*
*/
- __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_7reset_override, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_reset_overr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__113)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 696, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_20DeclarativeContainer_7reset_override, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_DeclarativeContainer_reset_overr, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 791, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/containers.pyx":695
+ /* "dependency_injector/containers.pyx":790
* provider.reset_last_overriding()
*
* @classmethod # <<<<<<<<<<<<<<
* def reset_override(cls):
* """Reset all overridings for each container providers.
*/
- __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 695, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_reset_override, __pyx_t_10) < 0) __PYX_ERR(0, 696, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_reset_override, __pyx_t_10) < 0) __PYX_ERR(0, 791, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/containers.pyx":568
+ /* "dependency_injector/containers.pyx":644
*
*
* @six.add_metaclass(DeclarativeContainerMetaClass) # <<<<<<<<<<<<<<
* class DeclarativeContainer(Container):
* """Declarative inversion of control container.
*/
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_six); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 568, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_six); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_add_metaclass); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 568, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_add_metaclass); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 568, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_DeclarativeContainerMetaClass_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_13 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
@@ -28960,18 +32577,18 @@ if (!__Pyx_RefNanny) {
__pyx_t_9 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11);
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 568, __pyx_L1_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- /* "dependency_injector/containers.pyx":569
+ /* "dependency_injector/containers.pyx":645
*
* @six.add_metaclass(DeclarativeContainerMetaClass)
* class DeclarativeContainer(Container): # <<<<<<<<<<<<<<
* """Declarative inversion of control container.
*
*/
- __pyx_t_12 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_DeclarativeContainer, __pyx_t_6, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_DeclarativeContainer, __pyx_t_7, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_11 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
@@ -28986,107 +32603,166 @@ if (!__Pyx_RefNanny) {
__pyx_t_10 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_12);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 568, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DeclarativeContainer, __pyx_t_10) < 0) __PYX_ERR(0, 569, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DeclarativeContainer, __pyx_t_10) < 0) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":707
+ /* "dependency_injector/containers.pyx":802
*
*
* class SingletonResetContext: # <<<<<<<<<<<<<<
*
* def __init__(self, container):
*/
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_SingletonResetContext, __pyx_n_s_SingletonResetContext, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 707, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_7 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_SingletonResetContext, __pyx_n_s_SingletonResetContext, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, (PyObject *) NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 802, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/containers.pyx":709
+ /* "dependency_injector/containers.pyx":804
* class SingletonResetContext:
*
* def __init__(self, container): # <<<<<<<<<<<<<<
* self._container = container
*
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_1__init__, 0, __pyx_n_s_SingletonResetContext___init, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__115)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_1__init__, 0, __pyx_n_s_SingletonResetContext___init, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__128)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":712
+ /* "dependency_injector/containers.pyx":807
* self._container = container
*
* def __enter__(self): # <<<<<<<<<<<<<<
* return self._container
*
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_3__enter__, 0, __pyx_n_s_SingletonResetContext___enter, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_3__enter__, 0, __pyx_n_s_SingletonResetContext___enter, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_enter, __pyx_t_1) < 0) __PYX_ERR(0, 712, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_enter, __pyx_t_1) < 0) __PYX_ERR(0, 807, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":715
+ /* "dependency_injector/containers.pyx":810
* return self._container
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
* self._container.reset_singletons()
*
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_5__exit__, 0, __pyx_n_s_SingletonResetContext___exit, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_21SingletonResetContext_5__exit__, 0, __pyx_n_s_SingletonResetContext___exit, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__133)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_exit, __pyx_t_1) < 0) __PYX_ERR(0, 715, __pyx_L1_error)
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_exit, __pyx_t_1) < 0) __PYX_ERR(0, 810, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/containers.pyx":707
+ /* "dependency_injector/containers.pyx":802
*
*
* class SingletonResetContext: # <<<<<<<<<<<<<<
*
* def __init__(self, container):
*/
- __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_SingletonResetContext, __pyx_empty_tuple, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 707, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_SingletonResetContext, __pyx_empty_tuple, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_SingletonResetContext, __pyx_t_1) < 0) __PYX_ERR(0, 707, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SingletonResetContext, __pyx_t_1) < 0) __PYX_ERR(0, 802, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":719
+ /* "dependency_injector/containers.pyx":815
+ *
+ *
+ * class ProvidersOverridingContext: # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, container, overridden_providers):
+ */
+ __pyx_t_7 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_ProvidersOverridingContext, __pyx_n_s_ProvidersOverridingContext, (PyObject *) NULL, __pyx_n_s_dependency_injector_containers, (PyObject *) NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 815, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+
+ /* "dependency_injector/containers.pyx":817
+ * class ProvidersOverridingContext:
+ *
+ * def __init__(self, container, overridden_providers): # <<<<<<<<<<<<<<
+ * self._container = container
+ * self._overridden_providers = overridden_providers
+ */
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_1__init__, 0, __pyx_n_s_ProvidersOverridingContext___ini, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_init, __pyx_t_1) < 0) __PYX_ERR(0, 817, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":821
+ * self._overridden_providers = overridden_providers
+ *
+ * def __enter__(self): # <<<<<<<<<<<<<<
+ * return self._container
+ *
+ */
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_3__enter__, 0, __pyx_n_s_ProvidersOverridingContext___ent, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_enter, __pyx_t_1) < 0) __PYX_ERR(0, 821, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":824
+ * return self._container
+ *
+ * def __exit__(self, *_): # <<<<<<<<<<<<<<
+ * for provider in self._overridden_providers:
+ * provider.reset_last_overriding()
+ */
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_19dependency_injector_10containers_26ProvidersOverridingContext_5__exit__, 0, __pyx_n_s_ProvidersOverridingContext___exi, NULL, __pyx_n_s_dependency_injector_containers, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (__Pyx_SetNameInClass(__pyx_t_7, __pyx_n_s_exit, __pyx_t_1) < 0) __PYX_ERR(0, 824, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/containers.pyx":815
+ *
+ *
+ * class ProvidersOverridingContext: # <<<<<<<<<<<<<<
+ *
+ * def __init__(self, container, overridden_providers):
+ */
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_ProvidersOverridingContext, __pyx_empty_tuple, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 815, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ProvidersOverridingContext, __pyx_t_1) < 0) __PYX_ERR(0, 815, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "dependency_injector/containers.pyx":829
*
*
* def override(object container): # <<<<<<<<<<<<<<
* """:py:class:`DeclarativeContainer` overriding decorator.
*
*/
- __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_5override, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 719, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_override, __pyx_t_6) < 0) __PYX_ERR(0, 719, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_5override, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_override, __pyx_t_7) < 0) __PYX_ERR(0, 829, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/containers.pyx":736
+ /* "dependency_injector/containers.pyx":846
*
*
* def copy(object base_container): # <<<<<<<<<<<<<<
* """:py:class:`DeclarativeContainer` copying decorator.
*
*/
- __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_7copy, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 736, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_6) < 0) __PYX_ERR(0, 736, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_10containers_7copy, NULL, __pyx_n_s_dependency_injector_containers); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 846, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_7) < 0) __PYX_ERR(0, 846, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "dependency_injector/containers.pyx":1
* """Containers module.""" # <<<<<<<<<<<<<<
*
- * import json
+ * import contextlib
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_6) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_7) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "cfunc.to_py":64
*
@@ -29217,7 +32893,7 @@ invalid_keyword:
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
PyObject *result;
- ternaryfunc call = func->ob_type->tp_call;
+ ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
@@ -29416,65 +33092,146 @@ bad:
}
#endif
-/* PyDictVersioning */
-#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
- PyObject *dict = Py_TYPE(obj)->tp_dict;
- return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
-}
-static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
- PyObject **dictptr = NULL;
- Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
- if (offset) {
-#if CYTHON_COMPILING_IN_CPYTHON
- dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
-#else
- dictptr = _PyObject_GetDictPtr(obj);
-#endif
- }
- return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
-}
-static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
- PyObject *dict = Py_TYPE(obj)->tp_dict;
- if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
- return 0;
- return obj_dict_version == __Pyx_get_object_dict_version(obj);
-}
-#endif
-
-/* GetModuleGlobalName */
-#if CYTHON_USE_DICT_VERSIONS
-static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
-#else
-static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
-#endif
+/* RaiseDoubleKeywords */
+static void __Pyx_RaiseDoubleKeywordsError(
+ const char* func_name,
+ PyObject* kw_name)
{
- PyObject *result;
-#if !CYTHON_AVOID_BORROWED_REFS
-#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
- result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
- } else if (unlikely(PyErr_Occurred())) {
- return NULL;
+ PyErr_Format(PyExc_TypeError,
+ #if PY_MAJOR_VERSION >= 3
+ "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+ #else
+ "%s() got multiple values for keyword argument '%s'", func_name,
+ PyString_AsString(kw_name));
+ #endif
+}
+
+/* ParseKeywords */
+static int __Pyx_ParseOptionalKeywords(
+ PyObject *kwds,
+ PyObject **argnames[],
+ PyObject *kwds2,
+ PyObject *values[],
+ Py_ssize_t num_pos_args,
+ const char* function_name)
+{
+ PyObject *key = 0, *value = 0;
+ Py_ssize_t pos = 0;
+ PyObject*** name;
+ PyObject*** first_kw_arg = argnames + num_pos_args;
+ while (PyDict_Next(kwds, &pos, &key, &value)) {
+ name = first_kw_arg;
+ while (*name && (**name != key)) name++;
+ if (*name) {
+ values[name-argnames] = value;
+ continue;
+ }
+ name = first_kw_arg;
+ #if PY_MAJOR_VERSION < 3
+ if (likely(PyString_Check(key))) {
+ while (*name) {
+ if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
+ && _PyString_Eq(**name, key)) {
+ values[name-argnames] = value;
+ break;
+ }
+ name++;
+ }
+ if (*name) continue;
+ else {
+ PyObject*** argname = argnames;
+ while (argname != first_kw_arg) {
+ if ((**argname == key) || (
+ (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
+ && _PyString_Eq(**argname, key))) {
+ goto arg_passed_twice;
+ }
+ argname++;
+ }
+ }
+ } else
+ #endif
+ if (likely(PyUnicode_Check(key))) {
+ while (*name) {
+ int cmp = (**name == key) ? 0 :
+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+ (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+ #endif
+ PyUnicode_Compare(**name, key);
+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+ if (cmp == 0) {
+ values[name-argnames] = value;
+ break;
+ }
+ name++;
+ }
+ if (*name) continue;
+ else {
+ PyObject*** argname = argnames;
+ while (argname != first_kw_arg) {
+ int cmp = (**argname == key) ? 0 :
+ #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+ (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+ #endif
+ PyUnicode_Compare(**argname, key);
+ if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+ if (cmp == 0) goto arg_passed_twice;
+ argname++;
+ }
+ }
+ } else
+ goto invalid_keyword_type;
+ if (kwds2) {
+ if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+ } else {
+ goto invalid_keyword;
+ }
}
-#else
- result = PyDict_GetItem(__pyx_d, name);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
+ return 0;
+arg_passed_twice:
+ __Pyx_RaiseDoubleKeywordsError(function_name, key);
+ goto bad;
+invalid_keyword_type:
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() keywords must be strings", function_name);
+ goto bad;
+invalid_keyword:
+ PyErr_Format(PyExc_TypeError,
+ #if PY_MAJOR_VERSION < 3
+ "%.200s() got an unexpected keyword argument '%.200s'",
+ function_name, PyString_AsString(key));
+ #else
+ "%s() got an unexpected keyword argument '%U'",
+ function_name, key);
+ #endif
+bad:
+ return -1;
+}
+
+/* RaiseArgTupleInvalid */
+static void __Pyx_RaiseArgtupleInvalid(
+ const char* func_name,
+ int exact,
+ Py_ssize_t num_min,
+ Py_ssize_t num_max,
+ Py_ssize_t num_found)
+{
+ Py_ssize_t num_expected;
+ const char *more_or_less;
+ if (num_found < num_min) {
+ num_expected = num_min;
+ more_or_less = "at least";
+ } else {
+ num_expected = num_max;
+ more_or_less = "at most";
}
-#endif
-#else
- result = PyObject_GetItem(__pyx_d, name);
- __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
- if (likely(result)) {
- return __Pyx_NewRef(result);
+ if (exact) {
+ more_or_less = "exactly";
}
- PyErr_Clear();
-#endif
- return __Pyx_GetBuiltinName(name);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+ func_name, more_or_less, num_expected,
+ (num_expected == 1) ? "" : "s", num_found);
}
/* PyObjectSetAttrStr */
@@ -29610,6 +33367,90 @@ done:
#endif
#endif
+/* PyCFunctionFastCall */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
+ PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
+ PyCFunction meth = PyCFunction_GET_FUNCTION(func);
+ PyObject *self = PyCFunction_GET_SELF(func);
+ int flags = PyCFunction_GET_FLAGS(func);
+ assert(PyCFunction_Check(func));
+ assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
+ assert(nargs >= 0);
+ assert(nargs == 0 || args != NULL);
+ /* _PyCFunction_FastCallDict() must not be called with an exception set,
+ because it may clear it (directly or indirectly) and so the
+ caller loses its exception */
+ assert(!PyErr_Occurred());
+ if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
+ return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
+ } else {
+ return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
+ }
+}
+#endif
+
+/* PyDictVersioning */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
+ PyObject *dict = Py_TYPE(obj)->tp_dict;
+ return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
+ PyObject **dictptr = NULL;
+ Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
+ if (offset) {
+#if CYTHON_COMPILING_IN_CPYTHON
+ dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
+#else
+ dictptr = _PyObject_GetDictPtr(obj);
+#endif
+ }
+ return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
+}
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
+ PyObject *dict = Py_TYPE(obj)->tp_dict;
+ if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
+ return 0;
+ return obj_dict_version == __Pyx_get_object_dict_version(obj);
+}
+#endif
+
+/* GetModuleGlobalName */
+#if CYTHON_USE_DICT_VERSIONS
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
+#else
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
+#endif
+{
+ PyObject *result;
+#if !CYTHON_AVOID_BORROWED_REFS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+ result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
+ __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+ if (likely(result)) {
+ return __Pyx_NewRef(result);
+ } else if (unlikely(PyErr_Occurred())) {
+ return NULL;
+ }
+#else
+ result = PyDict_GetItem(__pyx_d, name);
+ __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+ if (likely(result)) {
+ return __Pyx_NewRef(result);
+ }
+#endif
+#else
+ result = PyObject_GetItem(__pyx_d, name);
+ __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+ if (likely(result)) {
+ return __Pyx_NewRef(result);
+ }
+ PyErr_Clear();
+#endif
+ return __Pyx_GetBuiltinName(name);
+}
+
/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
@@ -29652,58 +33493,6 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
}
#endif
-/* PyCFunctionFastCall */
-#if CYTHON_FAST_PYCCALL
-static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
- PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
- PyCFunction meth = PyCFunction_GET_FUNCTION(func);
- PyObject *self = PyCFunction_GET_SELF(func);
- int flags = PyCFunction_GET_FLAGS(func);
- assert(PyCFunction_Check(func));
- assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
- assert(nargs >= 0);
- assert(nargs == 0 || args != NULL);
- /* _PyCFunction_FastCallDict() must not be called with an exception set,
- because it may clear it (directly or indirectly) and so the
- caller loses its exception */
- assert(!PyErr_Occurred());
- if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
- return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
- } else {
- return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
- }
-}
-#endif
-
-/* PyObjectCall2Args */
-static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
- PyObject *args, *result = NULL;
- #if CYTHON_FAST_PYCALL
- if (PyFunction_Check(function)) {
- PyObject *args[2] = {arg1, arg2};
- return __Pyx_PyFunction_FastCall(function, args, 2);
- }
- #endif
- #if CYTHON_FAST_PYCCALL
- if (__Pyx_PyFastCFunction_Check(function)) {
- PyObject *args[2] = {arg1, arg2};
- return __Pyx_PyCFunction_FastCall(function, args, 2);
- }
- #endif
- args = PyTuple_New(2);
- if (unlikely(!args)) goto done;
- Py_INCREF(arg1);
- PyTuple_SET_ITEM(args, 0, arg1);
- Py_INCREF(arg2);
- PyTuple_SET_ITEM(args, 1, arg2);
- Py_INCREF(function);
- result = __Pyx_PyObject_Call(function, args, NULL);
- Py_DECREF(args);
- Py_DECREF(function);
-done:
- return result;
-}
-
/* PyObjectCallOneArg */
#if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
@@ -29744,146 +33533,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObjec
}
#endif
-/* RaiseArgTupleInvalid */
-static void __Pyx_RaiseArgtupleInvalid(
- const char* func_name,
- int exact,
- Py_ssize_t num_min,
- Py_ssize_t num_max,
- Py_ssize_t num_found)
-{
- Py_ssize_t num_expected;
- const char *more_or_less;
- if (num_found < num_min) {
- num_expected = num_min;
- more_or_less = "at least";
- } else {
- num_expected = num_max;
- more_or_less = "at most";
+/* PyObjectCall2Args */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+ PyObject *args, *result = NULL;
+ #if CYTHON_FAST_PYCALL
+ if (PyFunction_Check(function)) {
+ PyObject *args[2] = {arg1, arg2};
+ return __Pyx_PyFunction_FastCall(function, args, 2);
}
- if (exact) {
- more_or_less = "exactly";
- }
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
-}
-
-/* RaiseDoubleKeywords */
-static void __Pyx_RaiseDoubleKeywordsError(
- const char* func_name,
- PyObject* kw_name)
-{
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION >= 3
- "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
- #else
- "%s() got multiple values for keyword argument '%s'", func_name,
- PyString_AsString(kw_name));
- #endif
-}
-
-/* ParseKeywords */
-static int __Pyx_ParseOptionalKeywords(
- PyObject *kwds,
- PyObject **argnames[],
- PyObject *kwds2,
- PyObject *values[],
- Py_ssize_t num_pos_args,
- const char* function_name)
-{
- PyObject *key = 0, *value = 0;
- Py_ssize_t pos = 0;
- PyObject*** name;
- PyObject*** first_kw_arg = argnames + num_pos_args;
- while (PyDict_Next(kwds, &pos, &key, &value)) {
- name = first_kw_arg;
- while (*name && (**name != key)) name++;
- if (*name) {
- values[name-argnames] = value;
- continue;
- }
- name = first_kw_arg;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyString_Check(key))) {
- while (*name) {
- if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
- && _PyString_Eq(**name, key)) {
- values[name-argnames] = value;
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- if ((**argname == key) || (
- (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
- && _PyString_Eq(**argname, key))) {
- goto arg_passed_twice;
- }
- argname++;
- }
- }
- } else
- #endif
- if (likely(PyUnicode_Check(key))) {
- while (*name) {
- int cmp = (**name == key) ? 0 :
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
- #endif
- PyUnicode_Compare(**name, key);
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) {
- values[name-argnames] = value;
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- int cmp = (**argname == key) ? 0 :
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
- #endif
- PyUnicode_Compare(**argname, key);
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) goto arg_passed_twice;
- argname++;
- }
- }
- } else
- goto invalid_keyword_type;
- if (kwds2) {
- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
- } else {
- goto invalid_keyword;
- }
- }
- return 0;
-arg_passed_twice:
- __Pyx_RaiseDoubleKeywordsError(function_name, key);
- goto bad;
-invalid_keyword_type:
- PyErr_Format(PyExc_TypeError,
- "%.200s() keywords must be strings", function_name);
- goto bad;
-invalid_keyword:
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION < 3
- "%.200s() got an unexpected keyword argument '%.200s'",
- function_name, PyString_AsString(key));
- #else
- "%s() got an unexpected keyword argument '%U'",
- function_name, key);
#endif
-bad:
- return -1;
+ #if CYTHON_FAST_PYCCALL
+ if (__Pyx_PyFastCFunction_Check(function)) {
+ PyObject *args[2] = {arg1, arg2};
+ return __Pyx_PyCFunction_FastCall(function, args, 2);
+ }
+ #endif
+ args = PyTuple_New(2);
+ if (unlikely(!args)) goto done;
+ Py_INCREF(arg1);
+ PyTuple_SET_ITEM(args, 0, arg1);
+ Py_INCREF(arg2);
+ PyTuple_SET_ITEM(args, 1, arg2);
+ Py_INCREF(function);
+ result = __Pyx_PyObject_Call(function, args, NULL);
+ Py_DECREF(args);
+ Py_DECREF(function);
+done:
+ return result;
}
/* RaiseTooManyValuesToUnpack */
@@ -30877,6 +34553,7 @@ static int __Pyx_Coroutine_clear(PyObject *self) {
}
#endif
Py_CLEAR(gen->gi_code);
+ Py_CLEAR(gen->gi_frame);
Py_CLEAR(gen->gi_name);
Py_CLEAR(gen->gi_qualname);
Py_CLEAR(gen->gi_modulename);
@@ -30893,7 +34570,7 @@ static void __Pyx_Coroutine_dealloc(PyObject *self) {
if (PyObject_CallFinalizerFromDealloc(self))
#else
Py_TYPE(gen)->tp_del(self);
- if (self->ob_refcnt > 0)
+ if (Py_REFCNT(self) > 0)
#endif
{
return;
@@ -30987,17 +34664,17 @@ static void __Pyx_Coroutine_del(PyObject *self) {
}
__Pyx_ErrRestore(error_type, error_value, error_traceback);
#if !CYTHON_USE_TP_FINALIZE
- assert(self->ob_refcnt > 0);
+ assert(Py_REFCNT(self) > 0);
if (--self->ob_refcnt == 0) {
return;
}
{
- Py_ssize_t refcnt = self->ob_refcnt;
+ Py_ssize_t refcnt = Py_REFCNT(self);
_Py_NewReference(self);
__Pyx_SET_REFCNT(self, refcnt);
}
#if CYTHON_COMPILING_IN_CPYTHON
- assert(PyType_IS_GC(self->ob_type) &&
+ assert(PyType_IS_GC(Py_TYPE(self)) &&
_Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
_Py_DEC_REFTOTAL;
#endif
@@ -31063,6 +34740,27 @@ __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHO
Py_XDECREF(tmp);
return 0;
}
+static PyObject *
+__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
+{
+ PyObject *frame = self->gi_frame;
+ if (!frame) {
+ if (unlikely(!self->gi_code)) {
+ Py_RETURN_NONE;
+ }
+ frame = (PyObject *) PyFrame_New(
+ PyThreadState_Get(), /*PyThreadState *tstate,*/
+ (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/
+ __pyx_d, /*PyObject *globals,*/
+ 0 /*PyObject *locals*/
+ );
+ if (unlikely(!frame))
+ return NULL;
+ self->gi_frame = frame;
+ }
+ Py_INCREF(frame);
+ return frame;
+}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
PyObject *name, PyObject *qualname, PyObject *module_name) {
@@ -31096,6 +34794,7 @@ static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
gen->gi_modulename = module_name;
Py_XINCREF(code);
gen->gi_code = code;
+ gen->gi_frame = NULL;
PyObject_GC_Track(gen);
return gen;
}
@@ -31259,6 +34958,8 @@ static PyGetSetDef __pyx_Generator_getsets[] = {
(char*) PyDoc_STR("name of the generator"), 0},
{(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
(char*) PyDoc_STR("qualified name of the generator"), 0},
+ {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
+ (char*) PyDoc_STR("Frame of the generator"), 0},
{0, 0, 0, 0, 0}
};
static PyTypeObject __pyx_GeneratorType_type = {
@@ -31517,6 +35218,80 @@ bad:
return NULL;
}
+/* GetException */
+#if CYTHON_FAST_THREAD_STATE
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
+#endif
+{
+ PyObject *local_type, *local_value, *local_tb;
+#if CYTHON_FAST_THREAD_STATE
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
+ local_type = tstate->curexc_type;
+ local_value = tstate->curexc_value;
+ local_tb = tstate->curexc_traceback;
+ tstate->curexc_type = 0;
+ tstate->curexc_value = 0;
+ tstate->curexc_traceback = 0;
+#else
+ PyErr_Fetch(&local_type, &local_value, &local_tb);
+#endif
+ PyErr_NormalizeException(&local_type, &local_value, &local_tb);
+#if CYTHON_FAST_THREAD_STATE
+ if (unlikely(tstate->curexc_type))
+#else
+ if (unlikely(PyErr_Occurred()))
+#endif
+ goto bad;
+ #if PY_MAJOR_VERSION >= 3
+ if (local_tb) {
+ if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
+ goto bad;
+ }
+ #endif
+ Py_XINCREF(local_tb);
+ Py_XINCREF(local_type);
+ Py_XINCREF(local_value);
+ *type = local_type;
+ *value = local_value;
+ *tb = local_tb;
+#if CYTHON_FAST_THREAD_STATE
+ #if CYTHON_USE_EXC_INFO_STACK
+ {
+ _PyErr_StackItem *exc_info = tstate->exc_info;
+ tmp_type = exc_info->exc_type;
+ tmp_value = exc_info->exc_value;
+ tmp_tb = exc_info->exc_traceback;
+ exc_info->exc_type = local_type;
+ exc_info->exc_value = local_value;
+ exc_info->exc_traceback = local_tb;
+ }
+ #else
+ tmp_type = tstate->exc_type;
+ tmp_value = tstate->exc_value;
+ tmp_tb = tstate->exc_traceback;
+ tstate->exc_type = local_type;
+ tstate->exc_value = local_value;
+ tstate->exc_traceback = local_tb;
+ #endif
+ Py_XDECREF(tmp_type);
+ Py_XDECREF(tmp_value);
+ Py_XDECREF(tmp_tb);
+#else
+ PyErr_SetExcInfo(local_type, local_value, local_tb);
+#endif
+ return 0;
+bad:
+ *type = 0;
+ *value = 0;
+ *tb = 0;
+ Py_XDECREF(local_type);
+ Py_XDECREF(local_value);
+ Py_XDECREF(local_tb);
+ return -1;
+}
+
/* None */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
@@ -31653,11 +35428,6 @@ static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) {
return __Pyx__Coroutine_await(coroutine);
}
#endif
-static PyObject *
-__Pyx_Coroutine_get_frame(CYTHON_UNUSED __pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
-{
- Py_RETURN_NONE;
-}
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1
static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) {
PyObject* result;
@@ -32240,7 +36010,8 @@ static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromString(m->func.m_ml->ml_name);
+ Py_INCREF(m->func_qualname);
+ return m->func_qualname;
#else
return PyString_FromString(m->func.m_ml->ml_name);
#endif
@@ -32712,80 +36483,6 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
return value;
}
-/* GetException */
-#if CYTHON_FAST_THREAD_STATE
-static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
-#else
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
-#endif
-{
- PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_FAST_THREAD_STATE
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- local_type = tstate->curexc_type;
- local_value = tstate->curexc_value;
- local_tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
-#else
- PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
- PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_FAST_THREAD_STATE
- if (unlikely(tstate->curexc_type))
-#else
- if (unlikely(PyErr_Occurred()))
-#endif
- goto bad;
- #if PY_MAJOR_VERSION >= 3
- if (local_tb) {
- if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
- goto bad;
- }
- #endif
- Py_XINCREF(local_tb);
- Py_XINCREF(local_type);
- Py_XINCREF(local_value);
- *type = local_type;
- *value = local_value;
- *tb = local_tb;
-#if CYTHON_FAST_THREAD_STATE
- #if CYTHON_USE_EXC_INFO_STACK
- {
- _PyErr_StackItem *exc_info = tstate->exc_info;
- tmp_type = exc_info->exc_type;
- tmp_value = exc_info->exc_value;
- tmp_tb = exc_info->exc_traceback;
- exc_info->exc_type = local_type;
- exc_info->exc_value = local_value;
- exc_info->exc_traceback = local_tb;
- }
- #else
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = local_type;
- tstate->exc_value = local_value;
- tstate->exc_traceback = local_tb;
- #endif
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
-#else
- PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
- return 0;
-bad:
- *type = 0;
- *value = 0;
- *tb = 0;
- Py_XDECREF(local_type);
- Py_XDECREF(local_value);
- Py_XDECREF(local_tb);
- return -1;
-}
-
/* None */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
@@ -32884,6 +36581,92 @@ bad:
return result;
}
+/* CallUnboundCMethod2 */
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1
+static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
+ if (likely(cfunc->func)) {
+ PyObject *args[2] = {arg1, arg2};
+ if (cfunc->flag == METH_FASTCALL) {
+ #if PY_VERSION_HEX >= 0x030700A0
+ return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2);
+ #else
+ return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL);
+ #endif
+ }
+ #if PY_VERSION_HEX >= 0x030700A0
+ if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
+ return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL);
+ #endif
+ }
+ return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
+}
+#endif
+static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
+ PyObject *args, *result = NULL;
+ if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
+#if CYTHON_COMPILING_IN_CPYTHON
+ if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
+ args = PyTuple_New(2);
+ if (unlikely(!args)) goto bad;
+ Py_INCREF(arg1);
+ PyTuple_SET_ITEM(args, 0, arg1);
+ Py_INCREF(arg2);
+ PyTuple_SET_ITEM(args, 1, arg2);
+ if (cfunc->flag & METH_KEYWORDS)
+ result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL);
+ else
+ result = (*cfunc->func)(self, args);
+ } else {
+ args = PyTuple_New(3);
+ if (unlikely(!args)) goto bad;
+ Py_INCREF(self);
+ PyTuple_SET_ITEM(args, 0, self);
+ Py_INCREF(arg1);
+ PyTuple_SET_ITEM(args, 1, arg1);
+ Py_INCREF(arg2);
+ PyTuple_SET_ITEM(args, 2, arg2);
+ result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+ }
+#else
+ args = PyTuple_Pack(3, self, arg1, arg2);
+ if (unlikely(!args)) goto bad;
+ result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+#endif
+bad:
+ Py_XDECREF(args);
+ return result;
+}
+
+/* dict_getitem_default */
+static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
+ PyObject* value;
+#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+ value = PyDict_GetItemWithError(d, key);
+ if (unlikely(!value)) {
+ if (unlikely(PyErr_Occurred()))
+ return NULL;
+ value = default_value;
+ }
+ Py_INCREF(value);
+ if ((1));
+#else
+ if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) {
+ value = PyDict_GetItem(d, key);
+ if (unlikely(!value)) {
+ value = default_value;
+ }
+ Py_INCREF(value);
+ }
+#endif
+ else {
+ if (default_value == Py_None)
+ value = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_get, d, key);
+ else
+ value = __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_get, d, key, default_value);
+ }
+ return value;
+}
+
/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
PyObject *r;
@@ -33820,6 +37603,44 @@ bad:
return (target_type) value;\
}
+/* CIntToPy */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+ const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(long) < sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ } else if (sizeof(long) <= sizeof(unsigned long)) {
+ return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+ } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+ }
+ } else {
+ if (sizeof(long) <= sizeof(long)) {
+ return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+ } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+ return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+ }
+ }
+ {
+ int one = 1; int little = (int)*(unsigned char *)&one;
+ unsigned char *bytes = (unsigned char *)&value;
+ return _PyLong_FromByteArray(bytes, sizeof(long),
+ little, !is_unsigned);
+ }
+}
+
/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
@@ -34054,44 +37875,6 @@ raise_neg_overflow:
return (int) -1;
}
-/* CIntToPy */
-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
- const long neg_one = (long) -1, const_zero = (long) 0;
-#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
-#pragma GCC diagnostic pop
-#endif
- const int is_unsigned = neg_one > const_zero;
- if (is_unsigned) {
- if (sizeof(long) < sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(long) <= sizeof(unsigned long)) {
- return PyLong_FromUnsignedLong((unsigned long) value);
-#ifdef HAVE_LONG_LONG
- } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
-#endif
- }
- } else {
- if (sizeof(long) <= sizeof(long)) {
- return PyInt_FromLong((long) value);
-#ifdef HAVE_LONG_LONG
- } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
- return PyLong_FromLongLong((PY_LONG_LONG) value);
-#endif
- }
- }
- {
- int one = 1; int little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&value;
- return _PyLong_FromByteArray(bytes, sizeof(long),
- little, !is_unsigned);
- }
-}
-
/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
diff --git a/src/dependency_injector/containers.pyi b/src/dependency_injector/containers.pyi
index 1357f2f1..2becfffc 100644
--- a/src/dependency_injector/containers.pyi
+++ b/src/dependency_injector/containers.pyi
@@ -3,6 +3,7 @@ from typing import (
Generic,
Type,
Dict,
+ List,
Tuple,
Optional,
Any,
@@ -26,11 +27,21 @@ T = TypeVar('T')
TT = TypeVar('TT')
+class WiringConfiguration:
+ modules: List[Any]
+ packages: List[Any]
+ from_package: Optional[str]
+ auto_wire: bool
+ def __init__(self, modules: Optional[Iterable[Any]] = None, packages: Optional[Iterable[Any]] = None, from_package: Optional[str] = None, auto_wire: bool = True) -> None: ...
+
+
class Container:
provider_type: Type[Provider] = Provider
providers: Dict[str, Provider]
dependencies: Dict[str, Provider]
overridden: Tuple[Provider]
+ wiring_config: WiringConfiguration
+ auto_load_config: bool = True
__self__: Self
def __init__(self) -> None: ...
def __deepcopy__(self, memo: Optional[Dict[str, Any]]) -> Provider: ...
@@ -39,14 +50,16 @@ class Container:
def __delattr__(self, name: str) -> None: ...
def set_providers(self, **providers: Provider): ...
def set_provider(self, name: str, provider: Provider) -> None: ...
- def override(self, overriding: C_Base) -> None: ...
- def override_providers(self, **overriding_providers: Union[Provider, Any]) -> None: ...
+ def override(self, overriding: Union[Container, Type[Container]]) -> None: ...
+ def override_providers(self, **overriding_providers: Union[Provider, Any]) -> ProvidersOverridingContext[C_Base]: ...
def reset_last_overriding(self) -> None: ...
def reset_override(self) -> None: ...
- def wire(self, modules: Optional[Iterable[Any]] = None, packages: Optional[Iterable[Any]] = None) -> None: ...
+ def is_auto_wiring_enabled(self) -> bool: ...
+ def wire(self, modules: Optional[Iterable[Any]] = None, packages: Optional[Iterable[Any]] = None, from_package: Optional[str] = None) -> None: ...
def unwire(self) -> None: ...
def init_resources(self) -> Optional[Awaitable]: ...
def shutdown_resources(self) -> Optional[Awaitable]: ...
+ def load_config(self) -> None: ...
def apply_container_providers_overridings(self) -> None: ...
def reset_singletons(self) -> SingletonResetContext[C_Base]: ...
def check_dependencies(self) -> None: ...
@@ -77,6 +90,20 @@ class DeclarativeContainer(Container):
cls_providers: ClassVar[Dict[str, Provider]]
inherited_providers: ClassVar[Dict[str, Provider]]
def __init__(self, **overriding_providers: Union[Provider, Any]) -> None: ...
+ @classmethod
+ def override(cls, overriding: Union[Container, Type[Container]]) -> None: ...
+ @classmethod
+ def override_providers(cls, **overriding_providers: Union[Provider, Any]) -> ProvidersOverridingContext[C_Base]: ...
+ @classmethod
+ def reset_last_overriding(cls) -> None: ...
+ @classmethod
+ def reset_override(cls) -> None: ...
+
+
+class ProvidersOverridingContext(Generic[T]):
+ def __init__(self, container: T, overridden_providers: Iterable[Union[Provider, Any]]) -> None: ...
+ def __enter__(self) -> T: ...
+ def __exit__(self, *_: Any) -> None: ...
class SingletonResetContext(Generic[T]):
diff --git a/src/dependency_injector/containers.pyx b/src/dependency_injector/containers.pyx
index 29fa0975..2eee8e79 100644
--- a/src/dependency_injector/containers.pyx
+++ b/src/dependency_injector/containers.pyx
@@ -1,7 +1,12 @@
"""Containers module."""
+import contextlib
+import copy as copy_module
import json
import sys
+import importlib
+import inspect
+import warnings
try:
import asyncio
@@ -28,6 +33,27 @@ else:
def unwire(*args, **kwargs):
raise NotImplementedError('Wiring requires Python 3.6 or above')
+if sys.version_info[:2] == (3, 5):
+ warnings.warn(
+ "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ "This does not mean that there will be any immediate breaking changes, "
+ "but tests will no longer be executed on Python 3.5, and bugs will not be addressed.",
+ category=DeprecationWarning,
+ )
+
+
+class WiringConfiguration:
+ """Container wiring configuration."""
+
+ def __init__(self, modules=None, packages=None, from_package=None, auto_wire=True):
+ self.modules = [*modules] if modules else []
+ self.packages = [*packages] if packages else []
+ self.from_package = from_package
+ self.auto_wire = auto_wire
+
+ def __deepcopy__(self, memo=None):
+ return self.__class__(self.modules, self.packages, self.from_package, self.auto_wire)
+
class Container(object):
"""Abstract container."""
@@ -74,6 +100,7 @@ class DynamicContainer(Container):
self.overridden = tuple()
self.parent = None
self.declarative_parent = None
+ self.wiring_config = WiringConfiguration()
self.wired_to_modules = []
self.wired_to_packages = []
self.__self__ = providers.Self(self)
@@ -94,6 +121,7 @@ class DynamicContainer(Container):
copied.provider_type = providers.Provider
copied.overridden = providers.deepcopy(self.overridden, memo)
+ copied.wiring_config = copy_module.deepcopy(self.wiring_config, memo)
copied.declarative_parent = self.declarative_parent
for name, provider in providers.deepcopy(self.providers, memo).items():
@@ -221,9 +249,12 @@ class DynamicContainer(Container):
:rtype: None
"""
+ overridden_providers = []
for name, overriding_provider in six.iteritems(overriding_providers):
container_provider = getattr(self, name)
container_provider.override(overriding_provider)
+ overridden_providers.append(container_provider)
+ return ProvidersOverridingContext(self, overridden_providers)
def reset_last_overriding(self):
"""Reset last overriding provider for each container providers.
@@ -248,11 +279,41 @@ class DynamicContainer(Container):
for provider in six.itervalues(self.providers):
provider.reset_override()
- def wire(self, modules=None, packages=None):
+ def is_auto_wiring_enabled(self):
+ """Check if auto wiring is needed."""
+ return self.wiring_config.auto_wire is True
+
+ def wire(self, modules=None, packages=None, from_package=None):
"""Wire container providers with provided packages and modules.
:rtype: None
"""
+ if modules is None and self.wiring_config.modules:
+ modules = self.wiring_config.modules
+ if packages is None and self.wiring_config.packages:
+ packages = self.wiring_config.packages
+
+ modules = [*modules] if modules else []
+ packages = [*packages] if packages else []
+
+ if _any_relative_string_imports_in(modules) or _any_relative_string_imports_in(packages):
+ if from_package is None:
+ if self.wiring_config.from_package is not None:
+ from_package = self.wiring_config.from_package
+ elif self.declarative_parent is not None \
+ and (self.wiring_config.modules or self.wiring_config.packages):
+ with contextlib.suppress(Exception):
+ from_package = _resolve_package_name_from_cls(self.declarative_parent)
+ else:
+ with contextlib.suppress(Exception):
+ from_package = _resolve_calling_package_name()
+
+ modules = _resolve_string_imports(modules, from_package)
+ packages = _resolve_string_imports(packages, from_package)
+
+ if not modules and not packages:
+ return
+
wire(
container=self,
modules=modules,
@@ -261,7 +322,6 @@ class DynamicContainer(Container):
if modules:
self.wired_to_modules.extend(modules)
-
if packages:
self.wired_to_packages.extend(packages)
@@ -326,6 +386,12 @@ class DynamicContainer(Container):
else:
return _sync_ordered_shutdown(resources)
+ def load_config(self):
+ """Load configuration."""
+ config: providers.Configuration
+ for config in self.traverse(types=[providers.Configuration]):
+ config.load()
+
def apply_container_providers_overridings(self):
"""Apply container providers' overridings."""
for provider in self.traverse(types=[providers.Container]):
@@ -450,10 +516,20 @@ class DeclarativeContainerMetaClass(type):
all_providers.update(inherited_providers)
all_providers.update(cls_providers)
+ wiring_config = attributes.get("wiring_config")
+ if wiring_config is None:
+ wiring_config = WiringConfiguration()
+ if wiring_config is not None and not isinstance(wiring_config, WiringConfiguration):
+ raise errors.Error(
+ "Wiring configuration should be an instance of WiringConfiguration, "
+ "instead got {0}".format(wiring_config)
+ )
+
attributes['containers'] = containers
attributes['inherited_providers'] = inherited_providers
attributes['cls_providers'] = cls_providers
attributes['providers'] = all_providers
+ attributes['wiring_config'] = wiring_config
cls = type.__new__(mcs, class_name, bases, attributes)
@@ -604,6 +680,18 @@ class DeclarativeContainer(Container):
:type: dict[str, :py:class:`dependency_injector.providers.Provider`]
"""
+ wiring_config = WiringConfiguration()
+ """Wiring configuration.
+
+ :type: WiringConfiguration
+ """
+
+ auto_load_config = True
+ """Automatically load configuration when the container is created.
+
+ :type: bool
+ """
+
cls_providers = dict()
"""Read-only dictionary of current container providers.
@@ -636,6 +724,7 @@ class DeclarativeContainer(Container):
"""
container = cls.instance_type()
container.provider_type = cls.provider_type
+ container.wiring_config = copy_module.deepcopy(cls.wiring_config)
container.declarative_parent = cls
copied_providers = providers.deepcopy({ **cls.providers, **{'@@self@@': cls.__self__}})
@@ -649,9 +738,15 @@ class DeclarativeContainer(Container):
for name, provider in copied_providers.items():
container.set_provider(name, provider)
+ if cls.auto_load_config:
+ container.load_config()
+
container.override_providers(**overriding_providers)
container.apply_container_providers_overridings()
+ if container.is_auto_wiring_enabled():
+ container.wire()
+
return container
@classmethod
@@ -716,6 +811,21 @@ class SingletonResetContext:
self._container.reset_singletons()
+
+class ProvidersOverridingContext:
+
+ def __init__(self, container, overridden_providers):
+ self._container = container
+ self._overridden_providers = overridden_providers
+
+ def __enter__(self):
+ return self._container
+
+ def __exit__(self, *_):
+ for provider in self._overridden_providers:
+ provider.reset_last_overriding()
+
+
def override(object container):
""":py:class:`DeclarativeContainer` overriding decorator.
@@ -789,3 +899,32 @@ cpdef object _check_provider_type(object container, object provider):
if not isinstance(provider, container.provider_type):
raise errors.Error('{0} can contain only {1} '
'instances'.format(container, container.provider_type))
+
+
+cpdef bint _any_relative_string_imports_in(object modules):
+ for module in modules:
+ if not isinstance(module, str):
+ continue
+ if module.startswith("."):
+ return True
+ else:
+ return False
+
+
+cpdef list _resolve_string_imports(object modules, object from_package):
+ return [
+ importlib.import_module(module, from_package) if isinstance(module, str) else module
+ for module in modules
+ ]
+
+
+cpdef object _resolve_calling_package_name():
+ stack = inspect.stack()
+ pre_last_frame = stack[0]
+ module = inspect.getmodule(pre_last_frame[0])
+ return module.__package__
+
+
+cpdef object _resolve_package_name_from_cls(cls):
+ module = importlib.import_module(cls.__module__)
+ return module.__package__
diff --git a/src/dependency_injector/providers.c b/src/dependency_injector/providers.c
index 7b300801..28710592 100644
--- a/src/dependency_injector/providers.c
+++ b/src/dependency_injector/providers.c
@@ -1,14 +1,16 @@
-/* Generated by Cython 0.29.22 */
+/* Generated by Cython 0.29.24 */
+#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
+#endif /* PY_SSIZE_T_CLEAN */
#include "Python.h"
#ifndef Py_PYTHON_H
#error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.6+ or Python 3.3+.
#else
-#define CYTHON_ABI "0_29_22"
-#define CYTHON_HEX_VERSION 0x001D16F0
+#define CYTHON_ABI "0_29_24"
+#define CYTHON_HEX_VERSION 0x001D18F0
#define CYTHON_FUTURE_DIVISION 0
#include
#ifndef offsetof
@@ -426,8 +428,12 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
#define CYTHON_PEP393_ENABLED 1
+ #if defined(PyUnicode_IS_READY)
#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
0 : _PyUnicode_Ready((PyObject *)(op)))
+ #else
+ #define __Pyx_PyUnicode_READY(op) (0)
+ #endif
#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
@@ -436,7 +442,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
#if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+ #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
+ #else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+ #endif
#else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
#endif
@@ -899,7 +909,7 @@ struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_void____object____object____obj
struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_object____object____object___to_py;
struct __pyx_opt_args_19dependency_injector_9providers_deepcopy;
-/* "dependency_injector/providers.pxd":334
+/* "dependency_injector/providers.pxd":337
*
*
* cpdef object deepcopy(object instance, dict memo=*) # <<<<<<<<<<<<<<
@@ -1151,11 +1161,14 @@ struct __pyx_obj_19dependency_injector_9providers_Configuration {
PyObject *__pyx___name;
int __pyx___strict;
PyObject *__pyx___children;
+ PyObject *__pyx___yaml_files;
+ PyObject *__pyx___ini_files;
+ PyObject *__pyx___pydantic_settings;
PyObject *__weakref__;
};
-/* "dependency_injector/providers.pxd":121
+/* "dependency_injector/providers.pxd":124
*
* # Factory providers
* cdef class Factory(Provider): # <<<<<<<<<<<<<<
@@ -1170,7 +1183,7 @@ struct __pyx_obj_19dependency_injector_9providers_Factory {
};
-/* "dependency_injector/providers.pxd":130
+/* "dependency_injector/providers.pxd":133
*
*
* cdef class DelegatedFactory(Factory): # <<<<<<<<<<<<<<
@@ -1182,7 +1195,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory {
};
-/* "dependency_injector/providers.pxd":134
+/* "dependency_injector/providers.pxd":137
*
*
* cdef class AbstractFactory(Factory): # <<<<<<<<<<<<<<
@@ -1194,7 +1207,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractFactory {
};
-/* "dependency_injector/providers.pxd":138
+/* "dependency_injector/providers.pxd":141
*
*
* cdef class FactoryDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -1206,7 +1219,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate {
};
-/* "dependency_injector/providers.pxd":142
+/* "dependency_injector/providers.pxd":145
*
*
* cdef class FactoryAggregate(Provider): # <<<<<<<<<<<<<<
@@ -1219,7 +1232,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate {
};
-/* "dependency_injector/providers.pxd":149
+/* "dependency_injector/providers.pxd":152
*
* # Singleton providers
* cdef class BaseSingleton(Provider): # <<<<<<<<<<<<<<
@@ -1233,7 +1246,7 @@ struct __pyx_obj_19dependency_injector_9providers_BaseSingleton {
};
-/* "dependency_injector/providers.pxd":154
+/* "dependency_injector/providers.pxd":157
*
*
* cdef class Singleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1245,7 +1258,7 @@ struct __pyx_obj_19dependency_injector_9providers_Singleton {
};
-/* "dependency_injector/providers.pxd":159
+/* "dependency_injector/providers.pxd":162
*
*
* cdef class DelegatedSingleton(Singleton): # <<<<<<<<<<<<<<
@@ -1257,7 +1270,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton {
};
-/* "dependency_injector/providers.pxd":163
+/* "dependency_injector/providers.pxd":166
*
*
* cdef class ThreadSafeSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1270,7 +1283,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton {
};
-/* "dependency_injector/providers.pxd":169
+/* "dependency_injector/providers.pxd":172
*
*
* cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton): # <<<<<<<<<<<<<<
@@ -1282,7 +1295,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton {
};
-/* "dependency_injector/providers.pxd":173
+/* "dependency_injector/providers.pxd":176
*
*
* cdef class ThreadLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1294,7 +1307,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton {
};
-/* "dependency_injector/providers.pxd":178
+/* "dependency_injector/providers.pxd":181
*
*
* cdef class ContextLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1306,7 +1319,7 @@ struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton {
};
-/* "dependency_injector/providers.pxd":183
+/* "dependency_injector/providers.pxd":186
*
*
* cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton): # <<<<<<<<<<<<<<
@@ -1318,7 +1331,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton
};
-/* "dependency_injector/providers.pxd":187
+/* "dependency_injector/providers.pxd":190
*
*
* cdef class AbstractSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -1330,7 +1343,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton {
};
-/* "dependency_injector/providers.pxd":191
+/* "dependency_injector/providers.pxd":194
*
*
* cdef class SingletonDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -1342,7 +1355,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate {
};
-/* "dependency_injector/providers.pxd":197
+/* "dependency_injector/providers.pxd":200
* # Miscellaneous providers
*
* cdef class List(Provider): # <<<<<<<<<<<<<<
@@ -1356,7 +1369,7 @@ struct __pyx_obj_19dependency_injector_9providers_List {
};
-/* "dependency_injector/providers.pxd":204
+/* "dependency_injector/providers.pxd":207
*
*
* cdef class Dict(Provider): # <<<<<<<<<<<<<<
@@ -1370,7 +1383,7 @@ struct __pyx_obj_19dependency_injector_9providers_Dict {
};
-/* "dependency_injector/providers.pxd":211
+/* "dependency_injector/providers.pxd":214
*
*
* cdef class Resource(Provider): # <<<<<<<<<<<<<<
@@ -1390,7 +1403,7 @@ struct __pyx_obj_19dependency_injector_9providers_Resource {
};
-/* "dependency_injector/providers.pxd":226
+/* "dependency_injector/providers.pxd":229
*
*
* cdef class Container(Provider): # <<<<<<<<<<<<<<
@@ -1406,7 +1419,7 @@ struct __pyx_obj_19dependency_injector_9providers_Container {
};
-/* "dependency_injector/providers.pxd":235
+/* "dependency_injector/providers.pxd":238
*
*
* cdef class Selector(Provider): # <<<<<<<<<<<<<<
@@ -1420,7 +1433,7 @@ struct __pyx_obj_19dependency_injector_9providers_Selector {
};
-/* "dependency_injector/providers.pxd":243
+/* "dependency_injector/providers.pxd":246
* # Provided instance
*
* cdef class ProvidedInstance(Provider): # <<<<<<<<<<<<<<
@@ -1433,7 +1446,7 @@ struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance {
};
-/* "dependency_injector/providers.pxd":249
+/* "dependency_injector/providers.pxd":252
*
*
* cdef class AttributeGetter(Provider): # <<<<<<<<<<<<<<
@@ -1447,7 +1460,7 @@ struct __pyx_obj_19dependency_injector_9providers_AttributeGetter {
};
-/* "dependency_injector/providers.pxd":256
+/* "dependency_injector/providers.pxd":259
*
*
* cdef class ItemGetter(Provider): # <<<<<<<<<<<<<<
@@ -1461,7 +1474,7 @@ struct __pyx_obj_19dependency_injector_9providers_ItemGetter {
};
-/* "dependency_injector/providers.pxd":263
+/* "dependency_injector/providers.pxd":266
*
*
* cdef class MethodCaller(Provider): # <<<<<<<<<<<<<<
@@ -1478,7 +1491,7 @@ struct __pyx_obj_19dependency_injector_9providers_MethodCaller {
};
-/* "dependency_injector/providers.pxd":274
+/* "dependency_injector/providers.pxd":277
*
* # Injections
* cdef class Injection(object): # <<<<<<<<<<<<<<
@@ -1494,7 +1507,7 @@ struct __pyx_obj_19dependency_injector_9providers_Injection {
};
-/* "dependency_injector/providers.pxd":281
+/* "dependency_injector/providers.pxd":284
*
*
* cdef class PositionalInjection(Injection): # <<<<<<<<<<<<<<
@@ -1506,7 +1519,7 @@ struct __pyx_obj_19dependency_injector_9providers_PositionalInjection {
};
-/* "dependency_injector/providers.pxd":285
+/* "dependency_injector/providers.pxd":288
*
*
* cdef class NamedInjection(Injection): # <<<<<<<<<<<<<<
@@ -1519,7 +1532,7 @@ struct __pyx_obj_19dependency_injector_9providers_NamedInjection {
};
-/* "dependency_injector/providers.pxd":296
+/* "dependency_injector/providers.pxd":299
*
* # Utils
* cdef class OverridingContext(object): # <<<<<<<<<<<<<<
@@ -1533,7 +1546,7 @@ struct __pyx_obj_19dependency_injector_9providers_OverridingContext {
};
-/* "dependency_injector/providers.pxd":301
+/* "dependency_injector/providers.pxd":304
*
*
* cdef class BaseSingletonResetContext(object): # <<<<<<<<<<<<<<
@@ -1546,7 +1559,7 @@ struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext {
};
-/* "dependency_injector/providers.pxd":305
+/* "dependency_injector/providers.pxd":308
*
*
* cdef class SingletonResetContext(BaseSingletonResetContext): # <<<<<<<<<<<<<<
@@ -1558,7 +1571,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext {
};
-/* "dependency_injector/providers.pxd":309
+/* "dependency_injector/providers.pxd":312
*
*
* cdef class SingletonFullResetContext(BaseSingletonResetContext): # <<<<<<<<<<<<<<
@@ -1570,7 +1583,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext {
};
-/* "dependency_injector/providers.pyx":406
+/* "dependency_injector/providers.pyx":414
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1583,7 +1596,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct____get__ {
};
-/* "dependency_injector/providers.pyx":484
+/* "dependency_injector/providers.pyx":492
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1596,7 +1609,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_1___get__ {
};
-/* "dependency_injector/providers.pyx":608
+/* "dependency_injector/providers.pyx":616
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1609,7 +1622,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_2___get__ {
};
-/* "dependency_injector/providers.pyx":787
+/* "dependency_injector/providers.pyx":795
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1622,7 +1635,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_3___get__ {
};
-/* "dependency_injector/providers.pyx":993
+/* "dependency_injector/providers.pyx":1001
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1635,7 +1648,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_4___get__ {
};
-/* "dependency_injector/providers.pyx":1203
+/* "dependency_injector/providers.pyx":1211
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1648,7 +1661,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_5___get__ {
};
-/* "dependency_injector/providers.pyx":1465
+/* "dependency_injector/providers.pyx":1473
* return value
*
* def _get_self_name(self): # <<<<<<<<<<<<<<
@@ -1661,7 +1674,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_6__get_self
};
-/* "dependency_injector/providers.pyx":1467
+/* "dependency_injector/providers.pyx":1475
* def _get_self_name(self):
* return '.'.join(
* segment() if is_provider(segment) else segment for segment in self.__name # <<<<<<<<<<<<<<
@@ -1677,7 +1690,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_7_genexpr {
};
-/* "dependency_injector/providers.pyx":1719
+/* "dependency_injector/providers.pyx":1727
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1690,7 +1703,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_8___get__ {
};
-/* "dependency_injector/providers.pyx":2150
+/* "dependency_injector/providers.pyx":2229
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1703,7 +1716,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_9___get__ {
};
-/* "dependency_injector/providers.pyx":2375
+/* "dependency_injector/providers.pyx":2454
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1716,7 +1729,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_10___get__
};
-/* "dependency_injector/providers.pyx":2555
+/* "dependency_injector/providers.pyx":2634
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1729,7 +1742,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_11___get__
};
-/* "dependency_injector/providers.pyx":2749
+/* "dependency_injector/providers.pyx":2828
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1742,7 +1755,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_12___get__
};
-/* "dependency_injector/providers.pyx":3274
+/* "dependency_injector/providers.pyx":3353
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1755,7 +1768,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_13___get__
};
-/* "dependency_injector/providers.pyx":3392
+/* "dependency_injector/providers.pyx":3471
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1768,7 +1781,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_14___get__
};
-/* "dependency_injector/providers.pyx":3588
+/* "dependency_injector/providers.pyx":3667
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1781,7 +1794,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_15___get__
};
-/* "dependency_injector/providers.pyx":3851
+/* "dependency_injector/providers.pyx":3930
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1794,7 +1807,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_16___get__
};
-/* "dependency_injector/providers.pyx":3961
+/* "dependency_injector/providers.pyx":4040
* return self.__providers[name]
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -1807,7 +1820,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_17___str__
};
-/* "dependency_injector/providers.pyx":3971
+/* "dependency_injector/providers.pyx":4050
* selector=self.__selector,
* providers=', '.join((
* '{0}={1}'.format(name, provider) # <<<<<<<<<<<<<<
@@ -1825,7 +1838,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_18_genexpr
};
-/* "dependency_injector/providers.pyx":3998
+/* "dependency_injector/providers.pyx":4077
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1838,7 +1851,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_19___get__
};
-/* "dependency_injector/providers.pyx":4085
+/* "dependency_injector/providers.pyx":4164
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1851,7 +1864,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_20___get__
};
-/* "dependency_injector/providers.pyx":4152
+/* "dependency_injector/providers.pyx":4231
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1864,7 +1877,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_21___get__
};
-/* "dependency_injector/providers.pyx":4234
+/* "dependency_injector/providers.pyx":4313
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1877,7 +1890,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_22___get__
};
-/* "dependency_injector/providers.pyx":4362
+/* "dependency_injector/providers.pyx":4441
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -1890,7 +1903,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__
};
-/* "dependency_injector/providers.pyx":4722
+/* "dependency_injector/providers.pyx":4801
*
*
* def traverse(*providers, types=None): # <<<<<<<<<<<<<<
@@ -1937,7 +1950,7 @@ struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_object____object____object___to
-/* "dependency_injector/providers.pyx":135
+/* "dependency_injector/providers.pyx":143
*
*
* cdef class Provider(object): # <<<<<<<<<<<<<<
@@ -1952,7 +1965,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Provider {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Provider *__pyx_vtabptr_19dependency_injector_9providers_Provider;
-/* "dependency_injector/providers.pyx":430
+/* "dependency_injector/providers.pyx":438
*
*
* cdef class Object(Provider): # <<<<<<<<<<<<<<
@@ -1966,7 +1979,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Object {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Object *__pyx_vtabptr_19dependency_injector_9providers_Object;
-/* "dependency_injector/providers.pyx":504
+/* "dependency_injector/providers.pyx":512
*
*
* cdef class Self(Provider): # <<<<<<<<<<<<<<
@@ -1980,7 +1993,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Self {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Self *__pyx_vtabptr_19dependency_injector_9providers_Self;
-/* "dependency_injector/providers.pyx":553
+/* "dependency_injector/providers.pyx":561
*
*
* cdef class Delegate(Provider): # <<<<<<<<<<<<<<
@@ -1994,7 +2007,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate *__pyx_vtabptr_19dependency_injector_9providers_Delegate;
-/* "dependency_injector/providers.pyx":627
+/* "dependency_injector/providers.pyx":635
*
*
* cdef class Dependency(Provider): # <<<<<<<<<<<<<<
@@ -2008,7 +2021,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency *__pyx_vtabptr_19dependency_injector_9providers_Dependency;
-/* "dependency_injector/providers.pyx":837
+/* "dependency_injector/providers.pyx":845
*
*
* cdef class ExternalDependency(Dependency): # <<<<<<<<<<<<<<
@@ -2022,7 +2035,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency *__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency;
-/* "dependency_injector/providers.pyx":865
+/* "dependency_injector/providers.pyx":873
*
*
* cdef class DependenciesContainer(Object): # <<<<<<<<<<<<<<
@@ -2037,7 +2050,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer *__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer;
-/* "dependency_injector/providers.pyx":1042
+/* "dependency_injector/providers.pyx":1050
*
*
* cdef class Callable(Provider): # <<<<<<<<<<<<<<
@@ -2051,7 +2064,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Callable {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Callable *__pyx_vtabptr_19dependency_injector_9providers_Callable;
-/* "dependency_injector/providers.pyx":1215
+/* "dependency_injector/providers.pyx":1223
*
*
* cdef class DelegatedCallable(Callable): # <<<<<<<<<<<<<<
@@ -2065,7 +2078,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable *__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable;
-/* "dependency_injector/providers.pyx":1224
+/* "dependency_injector/providers.pyx":1232
*
*
* cdef class AbstractCallable(Callable): # <<<<<<<<<<<<<<
@@ -2079,7 +2092,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable *__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable;
-/* "dependency_injector/providers.pyx":1265
+/* "dependency_injector/providers.pyx":1273
*
*
* cdef class CallableDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2093,7 +2106,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate *__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate;
-/* "dependency_injector/providers.pyx":1287
+/* "dependency_injector/providers.pyx":1295
*
*
* cdef class Coroutine(Callable): # <<<<<<<<<<<<<<
@@ -2107,7 +2120,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine *__pyx_vtabptr_19dependency_injector_9providers_Coroutine;
-/* "dependency_injector/providers.pyx":1323
+/* "dependency_injector/providers.pyx":1331
*
*
* cdef class DelegatedCoroutine(Coroutine): # <<<<<<<<<<<<<<
@@ -2121,7 +2134,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine *__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine;
-/* "dependency_injector/providers.pyx":1332
+/* "dependency_injector/providers.pyx":1340
*
*
* cdef class AbstractCoroutine(Coroutine): # <<<<<<<<<<<<<<
@@ -2135,7 +2148,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine *__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine;
-/* "dependency_injector/providers.pyx":1373
+/* "dependency_injector/providers.pyx":1381
*
*
* cdef class CoroutineDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2149,7 +2162,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate *__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate;
-/* "dependency_injector/providers.pyx":1395
+/* "dependency_injector/providers.pyx":1403
*
*
* cdef class ConfigurationOption(Provider): # <<<<<<<<<<<<<<
@@ -2163,7 +2176,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption *__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption;
-/* "dependency_injector/providers.pyx":1729
+/* "dependency_injector/providers.pyx":1737
*
*
* cdef class TypedConfigurationOption(Callable): # <<<<<<<<<<<<<<
@@ -2177,7 +2190,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOptio
static struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption *__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption;
-/* "dependency_injector/providers.pyx":1736
+/* "dependency_injector/providers.pyx":1744
*
*
* cdef class Configuration(Object): # <<<<<<<<<<<<<<
@@ -2191,7 +2204,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration *__pyx_vtabptr_19dependency_injector_9providers_Configuration;
-/* "dependency_injector/providers.pyx":2159
+/* "dependency_injector/providers.pyx":2238
*
*
* cdef class Factory(Provider): # <<<<<<<<<<<<<<
@@ -2205,7 +2218,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Factory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Factory *__pyx_vtabptr_19dependency_injector_9providers_Factory;
-/* "dependency_injector/providers.pyx":2388
+/* "dependency_injector/providers.pyx":2467
*
*
* cdef class DelegatedFactory(Factory): # <<<<<<<<<<<<<<
@@ -2219,7 +2232,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory *__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory;
-/* "dependency_injector/providers.pyx":2410
+/* "dependency_injector/providers.pyx":2489
*
*
* cdef class AbstractFactory(Factory): # <<<<<<<<<<<<<<
@@ -2233,7 +2246,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory *__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory;
-/* "dependency_injector/providers.pyx":2451
+/* "dependency_injector/providers.pyx":2530
*
*
* cdef class FactoryDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2247,7 +2260,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate *__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate;
-/* "dependency_injector/providers.pyx":2473
+/* "dependency_injector/providers.pyx":2552
*
*
* cdef class FactoryAggregate(Provider): # <<<<<<<<<<<<<<
@@ -2262,7 +2275,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate;
-/* "dependency_injector/providers.pyx":2579
+/* "dependency_injector/providers.pyx":2658
*
*
* cdef class BaseSingleton(Provider): # <<<<<<<<<<<<<<
@@ -2276,7 +2289,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
-/* "dependency_injector/providers.pyx":2768
+/* "dependency_injector/providers.pyx":2847
*
*
* cdef class Singleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2290,7 +2303,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton *__pyx_vtabptr_19dependency_injector_9providers_Singleton;
-/* "dependency_injector/providers.pyx":2836
+/* "dependency_injector/providers.pyx":2915
*
*
* cdef class DelegatedSingleton(Singleton): # <<<<<<<<<<<<<<
@@ -2304,7 +2317,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton;
-/* "dependency_injector/providers.pyx":2858
+/* "dependency_injector/providers.pyx":2937
*
*
* cdef class ThreadSafeSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2318,7 +2331,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton;
-/* "dependency_injector/providers.pyx":2906
+/* "dependency_injector/providers.pyx":2985
*
*
* cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton): # <<<<<<<<<<<<<<
@@ -2332,7 +2345,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSing
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton;
-/* "dependency_injector/providers.pyx":2928
+/* "dependency_injector/providers.pyx":3007
*
*
* cdef class ThreadLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2346,7 +2359,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton;
-/* "dependency_injector/providers.pyx":3004
+/* "dependency_injector/providers.pyx":3083
*
*
* cdef class ContextLocalSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2360,7 +2373,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton;
-/* "dependency_injector/providers.pyx":3087
+/* "dependency_injector/providers.pyx":3166
*
*
* cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton): # <<<<<<<<<<<<<<
@@ -2374,7 +2387,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSin
static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton;
-/* "dependency_injector/providers.pyx":3109
+/* "dependency_injector/providers.pyx":3188
*
*
* cdef class AbstractSingleton(BaseSingleton): # <<<<<<<<<<<<<<
@@ -2388,7 +2401,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton *__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton;
-/* "dependency_injector/providers.pyx":3154
+/* "dependency_injector/providers.pyx":3233
*
*
* cdef class SingletonDelegate(Delegate): # <<<<<<<<<<<<<<
@@ -2402,7 +2415,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate {
static struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate *__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate;
-/* "dependency_injector/providers.pyx":3176
+/* "dependency_injector/providers.pyx":3255
*
*
* cdef class List(Provider): # <<<<<<<<<<<<<<
@@ -2416,7 +2429,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_List {
static struct __pyx_vtabstruct_19dependency_injector_9providers_List *__pyx_vtabptr_19dependency_injector_9providers_List;
-/* "dependency_injector/providers.pyx":3284
+/* "dependency_injector/providers.pyx":3363
*
*
* cdef class Dict(Provider): # <<<<<<<<<<<<<<
@@ -2430,7 +2443,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Dict {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Dict *__pyx_vtabptr_19dependency_injector_9providers_Dict;
-/* "dependency_injector/providers.pyx":3411
+/* "dependency_injector/providers.pyx":3490
*
*
* cdef class Resource(Provider): # <<<<<<<<<<<<<<
@@ -2444,7 +2457,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Resource {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Resource *__pyx_vtabptr_19dependency_injector_9providers_Resource;
-/* "dependency_injector/providers.pyx":3753
+/* "dependency_injector/providers.pyx":3832
*
*
* cdef class Container(Provider): # <<<<<<<<<<<<<<
@@ -2458,7 +2471,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Container {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Container *__pyx_vtabptr_19dependency_injector_9providers_Container;
-/* "dependency_injector/providers.pyx":3894
+/* "dependency_injector/providers.pyx":3973
*
*
* cdef class Selector(Provider): # <<<<<<<<<<<<<<
@@ -2472,7 +2485,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Selector {
static struct __pyx_vtabstruct_19dependency_injector_9providers_Selector *__pyx_vtabptr_19dependency_injector_9providers_Selector;
-/* "dependency_injector/providers.pyx":4017
+/* "dependency_injector/providers.pyx":4096
*
*
* cdef class ProvidedInstance(Provider): # <<<<<<<<<<<<<<
@@ -2486,7 +2499,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance *__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance;
-/* "dependency_injector/providers.pyx":4095
+/* "dependency_injector/providers.pyx":4174
*
*
* cdef class AttributeGetter(Provider): # <<<<<<<<<<<<<<
@@ -2500,7 +2513,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter {
static struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter *__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter;
-/* "dependency_injector/providers.pyx":4177
+/* "dependency_injector/providers.pyx":4256
*
*
* cdef class ItemGetter(Provider): # <<<<<<<<<<<<<<
@@ -2514,7 +2527,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter {
static struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter *__pyx_vtabptr_19dependency_injector_9providers_ItemGetter;
-/* "dependency_injector/providers.pyx":4259
+/* "dependency_injector/providers.pyx":4338
*
*
* cdef class MethodCaller(Provider): # <<<<<<<<<<<<<<
@@ -2948,6 +2961,7 @@ typedef struct {
PyObject *gi_qualname;
PyObject *gi_modulename;
PyObject *gi_code;
+ PyObject *gi_frame;
int resume_label;
char is_running;
} __pyx_CoroutineObject;
@@ -3093,7 +3107,7 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
/* CallableCheck.proto */
#if CYTHON_USE_TYPE_SLOTS && PY_MAJOR_VERSION >= 3
-#define __Pyx_PyCallable_Check(obj) ((obj)->ob_type->tp_call != NULL)
+#define __Pyx_PyCallable_Check(obj) (Py_TYPE(obj)->tp_call != NULL)
#else
#define __Pyx_PyCallable_Check(obj) PyCallable_Check(obj)
#endif
@@ -3626,6 +3640,7 @@ int __pyx_module_is_main_dependency_injector__providers = 0;
static PyObject *__pyx_builtin_ImportError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_zip;
+static PyObject *__pyx_builtin_DeprecationWarning;
static PyObject *__pyx_builtin_object;
static PyObject *__pyx_builtin_staticmethod;
static PyObject *__pyx_builtin_reversed;
@@ -3634,7 +3649,6 @@ static PyObject *__pyx_builtin_open;
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_id;
static PyObject *__pyx_builtin_IndexError;
-static PyObject *__pyx_builtin_DeprecationWarning;
static PyObject *__pyx_builtin_NotImplementedError;
static PyObject *__pyx_builtin_AttributeError;
static PyObject *__pyx_builtin_hex;
@@ -3658,10 +3672,10 @@ static const char __pyx_k_re[] = "re";
static const char __pyx_k_to[] = "to";
static const char __pyx_k_0_1[] = "{0}={1}";
static const char __pyx_k__10[] = "__";
-static const char __pyx_k__30[] = ", ";
-static const char __pyx_k__31[] = "('";
-static const char __pyx_k__32[] = "')";
-static const char __pyx_k__33[] = ")";
+static const char __pyx_k__36[] = ", ";
+static const char __pyx_k__37[] = "(\"";
+static const char __pyx_k__38[] = "\")";
+static const char __pyx_k__39[] = ")";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_get[] = "get";
@@ -3796,6 +3810,7 @@ static const char __pyx_k_env_name[] = "env_name";
static const char __pyx_k_filepath[] = "filepath";
static const char __pyx_k_findings[] = "findings";
static const char __pyx_k_finditer[] = "finditer";
+static const char __pyx_k_from_ini[] = "from_ini";
static const char __pyx_k_get_name[] = "get_name";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_im_class[] = "im_class";
@@ -3835,7 +3850,9 @@ static const char __pyx_k_container[] = "container";
static const char __pyx_k_coroutine[] = "coroutine";
static const char __pyx_k_factories[] = "factories";
static const char __pyx_k_from_dict[] = "from_dict";
+static const char __pyx_k_from_yaml[] = "from_yaml";
static const char __pyx_k_functools[] = "functools";
+static const char __pyx_k_ini_files[] = "ini_files";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_overrides[] = "overrides";
static const char __pyx_k_providers[] = "providers";
@@ -3873,6 +3890,7 @@ static const char __pyx_k_set_result[] = "set_result";
static const char __pyx_k_set_strict[] = "set_strict";
static const char __pyx_k_shutdowner[] = "shutdowner";
static const char __pyx_k_startswith[] = "startswith";
+static const char __pyx_k_yaml_files[] = "yaml_files";
static const char __pyx_k_CLASS_TYPES[] = "CLASS_TYPES";
static const char __pyx_k_IS_PROVIDER[] = "__IS_PROVIDER__";
static const char __pyx_k_ImportError[] = "ImportError";
@@ -3929,7 +3947,9 @@ static const char __pyx_k_config_string[] = "config_string";
static const char __pyx_k_container_cls[] = "container_cls";
static const char __pyx_k_ensure_future[] = "ensure_future";
static const char __pyx_k_envs_required[] = "envs_required";
+static const char __pyx_k_from_pydantic[] = "from_pydantic";
static const char __pyx_k_future_result[] = "future_result";
+static const char __pyx_k_get_ini_files[] = "get_ini_files";
static const char __pyx_k_get_self_name[] = "_get_self_name";
static const char __pyx_k_provided_type[] = "provided_type";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
@@ -3937,6 +3957,7 @@ static const char __pyx_k_set_alt_names[] = "set_alt_names";
static const char __pyx_k_set_container[] = "set_container";
static const char __pyx_k_set_exception[] = "set_exception";
static const char __pyx_k_set_factories[] = "set_factories";
+static const char __pyx_k_set_ini_files[] = "set_ini_files";
static const char __pyx_k_set_providers[] = "set_providers";
static const char __pyx_k_AttributeError[] = "AttributeError";
static const char __pyx_k_Callable___get[] = "Callable.__get__";
@@ -3950,10 +3971,12 @@ static const char __pyx_k_attribute_name[] = "attribute_name";
static const char __pyx_k_config_content[] = "config_content";
static const char __pyx_k_container_name[] = ", container name: \"";
static const char __pyx_k_factories_dict[] = "factories_dict_";
+static const char __pyx_k_get_yaml_files[] = "get_yaml_files";
static const char __pyx_k_is_not_defined[] = "\" is not defined";
static const char __pyx_k_parse_ini_file[] = "_parse_ini_file";
static const char __pyx_k_reset_override[] = "reset_override";
static const char __pyx_k_set_attributes[] = "set_attributes";
+static const char __pyx_k_set_yaml_files[] = "set_yaml_files";
static const char __pyx_k_AbstractFactory[] = "AbstractFactory";
static const char __pyx_k_AttributeGetter[] = "AttributeGetter";
static const char __pyx_k_CHILD_PROVIDERS[] = "CHILD_PROVIDERS";
@@ -3987,6 +4010,7 @@ static const char __pyx_k_add_done_callback[] = "add_done_callback";
static const char __pyx_k_apply_overridings[] = "apply_overridings";
static const char __pyx_k_deepcopy_dispatch[] = "_deepcopy_dispatch";
static const char __pyx_k_enable_async_mode[] = "enable_async_mode";
+static const char __pyx_k_pydantic_settings[] = "pydantic_settings";
static const char __pyx_k_pyx_unpickle_Dict[] = "__pyx_unpickle_Dict";
static const char __pyx_k_pyx_unpickle_List[] = "__pyx_unpickle_List";
static const char __pyx_k_pyx_unpickle_Self[] = "__pyx_unpickle_Self";
@@ -4029,6 +4053,7 @@ static const char __pyx_k_AttributeGetter___get[] = "AttributeGetter.__get__";
static const char __pyx_k_ContextLocalSingleton[] = "ContextLocalSingleton";
static const char __pyx_k_DependenciesContainer[] = "DependenciesContainer";
static const char __pyx_k_SingletonResetContext[] = "SingletonResetContext";
+static const char __pyx_k_get_pydantic_settings[] = "get_pydantic_settings";
static const char __pyx_k_is_async_mode_enabled[] = "is_async_mode_enabled";
static const char __pyx_k_pyx_unpickle_Callable[] = "__pyx_unpickle_Callable";
static const char __pyx_k_pyx_unpickle_Delegate[] = "__pyx_unpickle_Delegate";
@@ -4038,6 +4063,7 @@ static const char __pyx_k_pyx_unpickle_Selector[] = "__pyx_unpickle_Selector";
static const char __pyx_k_raise_undefined_error[] = "_raise_undefined_error";
static const char __pyx_k_reset_last_overriding[] = "reset_last_overriding";
static const char __pyx_k_resolve_provider_name[] = "resolve_provider_name";
+static const char __pyx_k_set_pydantic_settings[] = "set_pydantic_settings";
static const char __pyx_k_FactoryAggregate___get[] = "FactoryAggregate.__get__";
static const char __pyx_k_ProvidedInstance___get[] = "ProvidedInstance.__get__";
static const char __pyx_k_create_shutdown_future[] = "_create_shutdown_future";
@@ -4126,6 +4152,7 @@ static const char __pyx_k_Configuration_option_can_only_be[] = "Configuration op
static const char __pyx_k_Configuration_option_does_not_su[] = "Configuration option does not support this method";
static const char __pyx_k_Container_provider_0_can_be_over[] = "Container provider {0} can be overridden only by providers container";
static const char __pyx_k_Contextvars_library_not_found_Th[] = "Contextvars library not found. This provider requires Python 3.7 or a backport of contextvars. To install a backport run \"pip install contextvars\".";
+static const char __pyx_k_Dependency_Injector_will_drop_su[] = "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. This does not mean that there will be any immediate breaking changes, but tests will no longer be executed on Python 3.5, and bugs will not be addressed.";
static const char __pyx_k_Environment_variable_0_is_undefi[] = "Environment variable \"{0}\" is undefined";
static const char __pyx_k_Expected_provider_instance_got_0[] = "Expected provider instance, got {0}";
static const char __pyx_k_Factory_missing_1_required_posit[] = "Factory missing 1 required positional argument: 'factory_name'";
@@ -4146,8 +4173,8 @@ static const char __pyx_k_Incompatible_checksums_s_vs_0x85[] = "Incompatible che
static const char __pyx_k_Incompatible_checksums_s_vs_0x8f[] = "Incompatible checksums (%s vs 0x8ff1764 = (__async_mode, __default, __instance_of, __last_overriding, __overridden, __overrides, __parent))";
static const char __pyx_k_Incompatible_checksums_s_vs_0x97[] = "Incompatible checksums (%s vs 0x979fb27 = (__async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __overrides))";
static const char __pyx_k_Incompatible_checksums_s_vs_0xac[] = "Incompatible checksums (%s vs 0xac520e4 = (__alt_names, __async_mode, __container, __last_overriding, __overridden, __overrides))";
+static const char __pyx_k_Incompatible_checksums_s_vs_0xb6[] = "Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))";
static const char __pyx_k_Incompatible_checksums_s_vs_0xcd[] = "Incompatible checksums (%s vs 0xcdd671a = (__async_mode, __last_overriding, __overridden, __overrides, __parent, __providers, __provides))";
-static const char __pyx_k_Incompatible_checksums_s_vs_0xe1[] = "Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))";
static const char __pyx_k_Incompatible_checksums_s_vs_0xe8[] = "Incompatible checksums (%s vs 0xe804f68 = (__args, __args_len, __async_mode, __last_overriding, __overridden, __overrides))";
static const char __pyx_k_Incompatible_checksums_s_vs_0xf0[] = "Incompatible checksums (%s vs 0xf019fbb = (__async_mode, __attributes, __attributes_len, __instantiator, __last_overriding, __overridden, __overrides))";
static const char __pyx_k_Incompatible_checksums_s_vs_0xf3[] = "Incompatible checksums (%s vs 0xf343682 = (__async_mode, __cache, __children, __last_overriding, __name, __overridden, __overrides, __required, __root))";
@@ -4227,6 +4254,7 @@ static PyObject *__pyx_n_s_DependenciesContainer;
static PyObject *__pyx_n_s_DependenciesContainer___get;
static PyObject *__pyx_kp_u_Dependency;
static PyObject *__pyx_n_s_Dependency_2;
+static PyObject *__pyx_kp_s_Dependency_Injector_will_drop_su;
static PyObject *__pyx_n_s_Dependency___get;
static PyObject *__pyx_kp_s_Dependency_is_not_defined;
static PyObject *__pyx_n_s_DeprecationWarning;
@@ -4267,8 +4295,8 @@ static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x85;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x8f;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x97;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xac;
+static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xb6;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xcd;
-static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xe1;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xe8;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xf0;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xf3;
@@ -4340,10 +4368,10 @@ static PyObject *__pyx_kp_s_YAML_loader_This_loader_mimics_y;
static PyObject *__pyx_n_s_YamlLoader;
static PyObject *__pyx_n_s__10;
static PyObject *__pyx_kp_u__2;
-static PyObject *__pyx_kp_s__30;
-static PyObject *__pyx_kp_u__31;
-static PyObject *__pyx_kp_u__32;
-static PyObject *__pyx_kp_u__33;
+static PyObject *__pyx_kp_s__36;
+static PyObject *__pyx_kp_u__37;
+static PyObject *__pyx_kp_u__38;
+static PyObject *__pyx_kp_u__39;
static PyObject *__pyx_kp_u__5;
static PyObject *__pyx_kp_s__6;
static PyObject *__pyx_kp_u__6;
@@ -4445,6 +4473,9 @@ static PyObject *__pyx_n_s_finditer;
static PyObject *__pyx_n_s_format;
static PyObject *__pyx_n_s_from;
static PyObject *__pyx_n_s_from_dict;
+static PyObject *__pyx_n_s_from_ini;
+static PyObject *__pyx_n_s_from_pydantic;
+static PyObject *__pyx_n_s_from_yaml;
static PyObject *__pyx_n_s_full_reset;
static PyObject *__pyx_n_s_functools;
static PyObject *__pyx_n_s_future;
@@ -4456,10 +4487,13 @@ static PyObject *__pyx_n_s_get;
static PyObject *__pyx_n_s_get_2;
static PyObject *__pyx_n_s_get_children;
static PyObject *__pyx_n_s_get_default;
+static PyObject *__pyx_n_s_get_ini_files;
static PyObject *__pyx_n_s_get_name;
+static PyObject *__pyx_n_s_get_pydantic_settings;
static PyObject *__pyx_n_s_get_self_name;
static PyObject *__pyx_n_s_get_self_name_locals_genexpr;
static PyObject *__pyx_n_s_get_strict;
+static PyObject *__pyx_n_s_get_yaml_files;
static PyObject *__pyx_n_s_getenv;
static PyObject *__pyx_n_s_getstate;
static PyObject *__pyx_n_s_group;
@@ -4472,6 +4506,7 @@ static PyObject *__pyx_n_s_im_func;
static PyObject *__pyx_n_s_im_self;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_index;
+static PyObject *__pyx_n_s_ini_files;
static PyObject *__pyx_n_s_iniconfigparser;
static PyObject *__pyx_n_s_init;
static PyObject *__pyx_n_s_init_2;
@@ -4546,6 +4581,7 @@ static PyObject *__pyx_kp_s_provider_selector_providers_at;
static PyObject *__pyx_n_s_providers;
static PyObject *__pyx_n_s_provides;
static PyObject *__pyx_n_s_pydantic;
+static PyObject *__pyx_n_s_pydantic_settings;
static PyObject *__pyx_n_s_pyx_PickleError;
static PyObject *__pyx_n_s_pyx_capi;
static PyObject *__pyx_n_s_pyx_checksum;
@@ -4638,14 +4674,17 @@ static PyObject *__pyx_n_s_set_container;
static PyObject *__pyx_n_s_set_default;
static PyObject *__pyx_n_s_set_exception;
static PyObject *__pyx_n_s_set_factories;
+static PyObject *__pyx_n_s_set_ini_files;
static PyObject *__pyx_n_s_set_instance_of;
static PyObject *__pyx_n_s_set_kwargs;
static PyObject *__pyx_n_s_set_name;
static PyObject *__pyx_n_s_set_providers;
static PyObject *__pyx_n_s_set_provides;
+static PyObject *__pyx_n_s_set_pydantic_settings;
static PyObject *__pyx_n_s_set_result;
static PyObject *__pyx_n_s_set_selector;
static PyObject *__pyx_n_s_set_strict;
+static PyObject *__pyx_n_s_set_yaml_files;
static PyObject *__pyx_n_s_setstate;
static PyObject *__pyx_n_s_setstate_cython;
static PyObject *__pyx_n_s_settings;
@@ -4689,6 +4728,7 @@ static PyObject *__pyx_n_s_warn;
static PyObject *__pyx_n_s_warnings;
static PyObject *__pyx_n_s_wrap;
static PyObject *__pyx_n_s_yaml;
+static PyObject *__pyx_n_s_yaml_files;
static PyObject *__pyx_n_s_zip;
static PyObject *__pyx_lambda_funcdef_19dependency_injector_9providers_lambda(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj, PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_markers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config_content, PyObject *__pyx_v_envs_required); /* proto */
@@ -4870,7 +4910,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationOption_6option___get__(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationOption___reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationOption_2__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
-static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_strict); /* proto */
+static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_strict, PyObject *__pyx_v_yaml_files, PyObject *__pyx_v_ini_files, PyObject *__pyx_v_pydantic_settings); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__deepcopy__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_4__enter__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_6__exit__(CYTHON_UNUSED struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_exc_info); /* proto */
@@ -4885,23 +4925,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_22get
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_24set_strict(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_strict); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_26get_children(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_28set_children(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_children); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_required); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_provider); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36reset_last_overriding(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38reset_override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40reset_cache(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42update(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44from_ini(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46from_yaml(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_loader, PyObject *__pyx_v_envs_required); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48from_pydantic(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings, PyObject *__pyx_v_required, PyObject *__pyx_v_kwargs); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50from_dict(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_options, PyObject *__pyx_v_required); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52from_env(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_required); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54from_value(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get_yaml_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set_yaml_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_files); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34get_ini_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36set_ini_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_files); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38get_pydantic_settings(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40set_pydantic_settings(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42load(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44get(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46set(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_provider); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50reset_last_overriding(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52reset_override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54reset_cache(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56update(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58from_ini(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60from_yaml(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_loader, PyObject *__pyx_v_envs_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_62from_pydantic(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings, PyObject *__pyx_v_required, PyObject *__pyx_v_kwargs); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_64from_dict(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_options, PyObject *__pyx_v_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_66from_env(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_required); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_68from_value(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_7related___get__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56_is_strict_mode_enabled(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_70_is_strict_mode_enabled(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_72__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_74__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_v_self, PyObject *__pyx_v_provides, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy__(struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_v_self, PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4__str__(struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_v_self); /* proto */
@@ -5356,8 +5403,8 @@ static PyObject *__pyx_int_140239282;
static PyObject *__pyx_int_150935396;
static PyObject *__pyx_int_158989095;
static PyObject *__pyx_int_180691172;
+static PyObject *__pyx_int_190846735;
static PyObject *__pyx_int_215836442;
-static PyObject *__pyx_int_236165063;
static PyObject *__pyx_int_243289960;
static PyObject *__pyx_int_251764667;
static PyObject *__pyx_int_255080066;
@@ -5366,8 +5413,8 @@ static PyObject *__pyx_k__12;
static PyObject *__pyx_k__13;
static PyObject *__pyx_k__14;
static PyObject *__pyx_k__15;
+static PyObject *__pyx_k__16;
static PyObject *__pyx_k__17;
-static PyObject *__pyx_k__18;
static PyObject *__pyx_k__19;
static PyObject *__pyx_k__20;
static PyObject *__pyx_k__21;
@@ -5375,32 +5422,36 @@ static PyObject *__pyx_k__22;
static PyObject *__pyx_k__23;
static PyObject *__pyx_k__24;
static PyObject *__pyx_k__25;
+static PyObject *__pyx_k__26;
+static PyObject *__pyx_k__27;
+static PyObject *__pyx_k__28;
+static PyObject *__pyx_k__29;
+static PyObject *__pyx_k__30;
+static PyObject *__pyx_k__31;
static PyObject *__pyx_tuple__3;
static PyObject *__pyx_tuple__4;
+static PyObject *__pyx_slice__50;
static PyObject *__pyx_tuple__11;
-static PyObject *__pyx_tuple__16;
-static PyObject *__pyx_tuple__26;
-static PyObject *__pyx_tuple__27;
-static PyObject *__pyx_tuple__28;
-static PyObject *__pyx_tuple__29;
+static PyObject *__pyx_tuple__18;
+static PyObject *__pyx_tuple__32;
+static PyObject *__pyx_tuple__33;
+static PyObject *__pyx_tuple__34;
static PyObject *__pyx_tuple__35;
-static PyObject *__pyx_tuple__37;
-static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__43;
-static PyObject *__pyx_tuple__44;
static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__47;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__51;
+static PyObject *__pyx_tuple__52;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__55;
static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__59;
-static PyObject *__pyx_tuple__60;
-static PyObject *__pyx_tuple__62;
-static PyObject *__pyx_tuple__64;
-static PyObject *__pyx_tuple__66;
+static PyObject *__pyx_tuple__61;
+static PyObject *__pyx_tuple__63;
+static PyObject *__pyx_tuple__65;
+static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__70;
static PyObject *__pyx_tuple__72;
@@ -5449,22 +5500,22 @@ static PyObject *__pyx_tuple__156;
static PyObject *__pyx_tuple__158;
static PyObject *__pyx_tuple__160;
static PyObject *__pyx_tuple__162;
-static PyObject *__pyx_codeobj__34;
-static PyObject *__pyx_codeobj__36;
-static PyObject *__pyx_codeobj__38;
+static PyObject *__pyx_tuple__164;
+static PyObject *__pyx_tuple__166;
+static PyObject *__pyx_tuple__168;
+static PyObject *__pyx_tuple__170;
static PyObject *__pyx_codeobj__40;
static PyObject *__pyx_codeobj__42;
+static PyObject *__pyx_codeobj__44;
static PyObject *__pyx_codeobj__46;
static PyObject *__pyx_codeobj__48;
-static PyObject *__pyx_codeobj__50;
-static PyObject *__pyx_codeobj__52;
static PyObject *__pyx_codeobj__54;
static PyObject *__pyx_codeobj__56;
static PyObject *__pyx_codeobj__58;
-static PyObject *__pyx_codeobj__61;
-static PyObject *__pyx_codeobj__63;
-static PyObject *__pyx_codeobj__65;
-static PyObject *__pyx_codeobj__67;
+static PyObject *__pyx_codeobj__60;
+static PyObject *__pyx_codeobj__62;
+static PyObject *__pyx_codeobj__64;
+static PyObject *__pyx_codeobj__66;
static PyObject *__pyx_codeobj__69;
static PyObject *__pyx_codeobj__71;
static PyObject *__pyx_codeobj__73;
@@ -5513,6 +5564,10 @@ static PyObject *__pyx_codeobj__157;
static PyObject *__pyx_codeobj__159;
static PyObject *__pyx_codeobj__161;
static PyObject *__pyx_codeobj__163;
+static PyObject *__pyx_codeobj__165;
+static PyObject *__pyx_codeobj__167;
+static PyObject *__pyx_codeobj__169;
+static PyObject *__pyx_codeobj__171;
/* Late includes */
/* "dependency_injector/providers.pyx":63
@@ -5674,7 +5729,7 @@ static PyObject *__pyx_lambda_funcdef_19dependency_injector_9providers_lambda(CY
* copy.deepcopy(obj.im_self, memo),
* obj.im_class) # <<<<<<<<<<<<<<
*
- * config_env_marker_pattern = re.compile(
+ * if sys.version_info[:2] == (3, 5):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_im_class); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
@@ -5762,7 +5817,7 @@ static PyObject *__pyx_lambda_funcdef_19dependency_injector_9providers_lambda(CY
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":71
+/* "dependency_injector/providers.pyx":79
* )
*
* def _resolve_config_env_markers(config_content, envs_required=False): # <<<<<<<<<<<<<<
@@ -5811,7 +5866,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_1_resolve_config_env_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_resolve_config_env_markers") < 0)) __PYX_ERR(1, 71, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_resolve_config_env_markers") < 0)) __PYX_ERR(1, 79, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -5827,7 +5882,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_1_resolve_config_env_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_resolve_config_env_markers", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 71, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_resolve_config_env_markers", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 79, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._resolve_config_env_markers", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -5868,16 +5923,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_RefNannySetupContext("_resolve_config_env_markers", 0);
__Pyx_INCREF(__pyx_v_config_content);
- /* "dependency_injector/providers.pyx":73
+ /* "dependency_injector/providers.pyx":81
* def _resolve_config_env_markers(config_content, envs_required=False):
* """Replace environment variable markers with their values."""
* findings = list(config_env_marker_pattern.finditer(config_content)) # <<<<<<<<<<<<<<
*
* for match in reversed(findings):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_config_env_marker_pattern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 73, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_config_env_marker_pattern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 73, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -5892,16 +5947,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_config_content) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_config_content);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 73, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 73, __pyx_L1_error)
+ __pyx_t_3 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_findings = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":75
+ /* "dependency_injector/providers.pyx":83
* findings = list(config_env_marker_pattern.finditer(config_content))
*
* for match in reversed(findings): # <<<<<<<<<<<<<<
@@ -5913,22 +5968,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
if (__pyx_t_4 < 0) break;
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4--; if (unlikely(0 < 0)) __PYX_ERR(1, 75, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4--; if (unlikely(0 < 0)) __PYX_ERR(1, 83, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4--; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 75, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4--; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 83, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
__Pyx_XDECREF_SET(__pyx_v_match, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":76
+ /* "dependency_injector/providers.pyx":84
*
* for match in reversed(findings):
* env_name = match.group('name') # <<<<<<<<<<<<<<
* has_default = match.group('separator') == ':'
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 76, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 84, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -5942,20 +5997,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_n_s_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_name);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 76, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 84, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_env_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":77
+ /* "dependency_injector/providers.pyx":85
* for match in reversed(findings):
* env_name = match.group('name')
* has_default = match.group('separator') == ':' # <<<<<<<<<<<<<<
*
* value = os.getenv(env_name)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 77, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -5969,24 +6024,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_n_s_separator) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_separator);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 77, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_kp_s_, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 77, __pyx_L1_error)
+ __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_kp_s_, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 85, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_has_default, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":79
+ /* "dependency_injector/providers.pyx":87
* has_default = match.group('separator') == ':'
*
* value = os.getenv(env_name) # <<<<<<<<<<<<<<
* if value is None:
* if not has_default and envs_required:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 79, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getenv); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 79, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getenv); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -6001,13 +6056,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_env_name) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_env_name);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 79, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 87, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":80
+ /* "dependency_injector/providers.pyx":88
*
* value = os.getenv(env_name)
* if value is None: # <<<<<<<<<<<<<<
@@ -6018,33 +6073,33 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":81
+ /* "dependency_injector/providers.pyx":89
* value = os.getenv(env_name)
* if value is None:
* if not has_default and envs_required: # <<<<<<<<<<<<<<
* raise ValueError(f'Missing required environment variable "{env_name}"')
* value = match.group('default')
*/
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_has_default); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 81, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_has_default); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 89, __pyx_L1_error)
__pyx_t_8 = ((!__pyx_t_6) != 0);
if (__pyx_t_8) {
} else {
__pyx_t_7 = __pyx_t_8;
goto __pyx_L7_bool_binop_done;
}
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 81, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 89, __pyx_L1_error)
__pyx_t_7 = __pyx_t_8;
__pyx_L7_bool_binop_done:;
if (unlikely(__pyx_t_7)) {
- /* "dependency_injector/providers.pyx":82
+ /* "dependency_injector/providers.pyx":90
* if value is None:
* if not has_default and envs_required:
* raise ValueError(f'Missing required environment variable "{env_name}"') # <<<<<<<<<<<<<<
* value = match.group('default')
*
*/
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 82, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = 0;
__pyx_t_10 = 127;
@@ -6052,7 +6107,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__pyx_t_9 += 39;
__Pyx_GIVEREF(__pyx_kp_u_Missing_required_environment_var);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Missing_required_environment_var);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_env_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 82, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_env_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
__pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
@@ -6063,17 +6118,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__pyx_t_9 += 1;
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__2);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 82, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 82, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(1, 82, __pyx_L1_error)
+ __PYX_ERR(1, 90, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":81
+ /* "dependency_injector/providers.pyx":89
* value = os.getenv(env_name)
* if value is None:
* if not has_default and envs_required: # <<<<<<<<<<<<<<
@@ -6082,14 +6137,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
*/
}
- /* "dependency_injector/providers.pyx":83
+ /* "dependency_injector/providers.pyx":91
* if not has_default and envs_required:
* raise ValueError(f'Missing required environment variable "{env_name}"')
* value = match.group('default') # <<<<<<<<<<<<<<
*
* span_min, span_max = match.span()
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 83, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -6103,13 +6158,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_n_s_default) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_s_default);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 83, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 91, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":80
+ /* "dependency_injector/providers.pyx":88
*
* value = os.getenv(env_name)
* if value is None: # <<<<<<<<<<<<<<
@@ -6118,14 +6173,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
*/
}
- /* "dependency_injector/providers.pyx":85
+ /* "dependency_injector/providers.pyx":93
* value = match.group('default')
*
* span_min, span_max = match.span() # <<<<<<<<<<<<<<
* config_content = f'{config_content[:span_min]}{value}{config_content[span_max:]}'
* return config_content
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_span); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_span); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -6139,7 +6194,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 85, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
@@ -6148,7 +6203,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 85, __pyx_L1_error)
+ __PYX_ERR(1, 93, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -6161,15 +6216,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_11 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 85, __pyx_L1_error)
+ __pyx_t_11 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext;
@@ -6177,7 +6232,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_1 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_1)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 85, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 93, __pyx_L1_error)
__pyx_t_12 = NULL;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L10_unpacking_done;
@@ -6185,7 +6240,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_12 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 85, __pyx_L1_error)
+ __PYX_ERR(1, 93, __pyx_L1_error)
__pyx_L10_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_span_min, __pyx_t_5);
@@ -6193,20 +6248,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_XDECREF_SET(__pyx_v_span_max, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":86
+ /* "dependency_injector/providers.pyx":94
*
* span_min, span_max = match.span()
* config_content = f'{config_content[:span_min]}{value}{config_content[span_max:]}' # <<<<<<<<<<<<<<
* return config_content
*
*/
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = 0;
__pyx_t_10 = 127;
- __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_config_content, 0, 0, NULL, &__pyx_v_span_min, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_config_content, 0, 0, NULL, &__pyx_v_span_min, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
@@ -6214,16 +6269,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_value, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_value, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_10;
__pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_config_content, 0, 0, &__pyx_v_span_max, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_config_content, 0, 0, &__pyx_v_span_max, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_10;
@@ -6231,13 +6286,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 86, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_config_content, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":75
+ /* "dependency_injector/providers.pyx":83
* findings = list(config_env_marker_pattern.finditer(config_content))
*
* for match in reversed(findings): # <<<<<<<<<<<<<<
@@ -6247,7 +6302,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":87
+ /* "dependency_injector/providers.pyx":95
* span_min, span_max = match.span()
* config_content = f'{config_content[:span_min]}{value}{config_content[span_max:]}'
* return config_content # <<<<<<<<<<<<<<
@@ -6259,7 +6314,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
__pyx_r = __pyx_v_config_content;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":71
+ /* "dependency_injector/providers.pyx":79
* )
*
* def _resolve_config_env_markers(config_content, envs_required=False): # <<<<<<<<<<<<<<
@@ -6290,7 +6345,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers__resolve_config_env_m
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":91
+/* "dependency_injector/providers.pyx":99
*
* if sys.version_info[0] == 3:
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
@@ -6338,7 +6393,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_3_parse_ini_file(PyOb
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_ini_file") < 0)) __PYX_ERR(1, 91, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_ini_file") < 0)) __PYX_ERR(1, 99, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6354,7 +6409,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_3_parse_ini_file(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_parse_ini_file", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 91, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_parse_ini_file", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 99, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._parse_ini_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -6389,16 +6444,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parse_ini_file", 0);
- /* "dependency_injector/providers.pyx":92
+ /* "dependency_injector/providers.pyx":100
* if sys.version_info[0] == 3:
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser() # <<<<<<<<<<<<<<
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iniconfigparser); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 92, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iniconfigparser); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ConfigParser); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 92, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ConfigParser); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -6413,13 +6468,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 92, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 100, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_parser = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":93
+ /* "dependency_injector/providers.pyx":101
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file: # <<<<<<<<<<<<<<
@@ -6427,11 +6482,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
* config_file.read(),
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 93, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 101, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 93, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 101, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 93, __pyx_L3_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 101, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -6445,7 +6500,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 93, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 101, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_3;
@@ -6463,24 +6518,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__pyx_v_config_file = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":94
+ /* "dependency_injector/providers.pyx":102
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 94, __pyx_L7_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 102, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":95
+ /* "dependency_injector/providers.pyx":103
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers(
* config_file.read(), # <<<<<<<<<<<<<<
* envs_required=envs_required,
* )
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config_file, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 95, __pyx_L7_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config_file, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 103, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -6494,42 +6549,42 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 95, __pyx_L7_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 103, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":94
+ /* "dependency_injector/providers.pyx":102
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 94, __pyx_L7_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 102, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":96
+ /* "dependency_injector/providers.pyx":104
* config_string = _resolve_config_env_markers(
* config_file.read(),
* envs_required=envs_required, # <<<<<<<<<<<<<<
* )
* parser.read_string(config_string)
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 96, __pyx_L7_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 104, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 96, __pyx_L7_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 104, __pyx_L7_error)
- /* "dependency_injector/providers.pyx":94
+ /* "dependency_injector/providers.pyx":102
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 94, __pyx_L7_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 102, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -6537,7 +6592,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__pyx_v_config_string = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":93
+ /* "dependency_injector/providers.pyx":101
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file: # <<<<<<<<<<<<<<
@@ -6556,20 +6611,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers._parse_ini_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 93, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 101, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 93, __pyx_L9_except_error)
+ __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 101, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 93, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 101, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__pyx_t_10 < 0) __PYX_ERR(1, 93, __pyx_L9_except_error)
+ if (__pyx_t_10 < 0) __PYX_ERR(1, 101, __pyx_L9_except_error)
__pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_5);
@@ -6577,7 +6632,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__Pyx_XGIVEREF(__pyx_t_3);
__Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3);
__pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0;
- __PYX_ERR(1, 93, __pyx_L9_except_error)
+ __PYX_ERR(1, 101, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6603,7 +6658,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
if (__pyx_t_4) {
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 93, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 101, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -6618,16 +6673,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__pyx_L16:;
}
- /* "dependency_injector/providers.pyx":98
+ /* "dependency_injector/providers.pyx":106
* envs_required=envs_required,
* )
* parser.read_string(config_string) # <<<<<<<<<<<<<<
* return parser
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_read_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 98, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_read_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(!__pyx_v_config_string)) { __Pyx_RaiseUnboundLocalError("config_string"); __PYX_ERR(1, 98, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_config_string)) { __Pyx_RaiseUnboundLocalError("config_string"); __PYX_ERR(1, 106, __pyx_L1_error) }
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
@@ -6640,12 +6695,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_config_string) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_config_string);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 98, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":99
+ /* "dependency_injector/providers.pyx":107
* )
* parser.read_string(config_string)
* return parser # <<<<<<<<<<<<<<
@@ -6657,7 +6712,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
__pyx_r = __pyx_v_parser;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":91
+ /* "dependency_injector/providers.pyx":99
*
* if sys.version_info[0] == 3:
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
@@ -6682,7 +6737,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_2_parse_ini_file(CYTH
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":103
+/* "dependency_injector/providers.pyx":111
* import StringIO
*
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
@@ -6730,7 +6785,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_5_parse_ini_file(PyOb
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_ini_file") < 0)) __PYX_ERR(1, 103, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_ini_file") < 0)) __PYX_ERR(1, 111, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6746,7 +6801,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_5_parse_ini_file(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_parse_ini_file", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 103, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_parse_ini_file", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 111, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._parse_ini_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -6782,16 +6837,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parse_ini_file", 0);
- /* "dependency_injector/providers.pyx":104
+ /* "dependency_injector/providers.pyx":112
*
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser() # <<<<<<<<<<<<<<
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iniconfigparser); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iniconfigparser); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 112, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ConfigParser); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 104, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ConfigParser); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 112, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -6806,13 +6861,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 104, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 112, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_parser = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":105
+ /* "dependency_injector/providers.pyx":113
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file: # <<<<<<<<<<<<<<
@@ -6820,11 +6875,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
* config_file.read(),
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 105, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 105, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 105, __pyx_L3_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 113, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -6838,7 +6893,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 105, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 113, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_3;
@@ -6856,24 +6911,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__pyx_v_config_file = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":106
+ /* "dependency_injector/providers.pyx":114
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 106, __pyx_L7_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 114, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":107
+ /* "dependency_injector/providers.pyx":115
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers(
* config_file.read(), # <<<<<<<<<<<<<<
* envs_required=envs_required,
* )
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config_file, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 107, __pyx_L7_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config_file, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 115, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -6887,42 +6942,42 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 107, __pyx_L7_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 115, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":106
+ /* "dependency_injector/providers.pyx":114
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 106, __pyx_L7_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 114, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":108
+ /* "dependency_injector/providers.pyx":116
* config_string = _resolve_config_env_markers(
* config_file.read(),
* envs_required=envs_required, # <<<<<<<<<<<<<<
* )
* parser.readfp(StringIO.StringIO(config_string))
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 108, __pyx_L7_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 116, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 108, __pyx_L7_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 116, __pyx_L7_error)
- /* "dependency_injector/providers.pyx":106
+ /* "dependency_injector/providers.pyx":114
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
* config_string = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_file.read(),
* envs_required=envs_required,
*/
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 106, __pyx_L7_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 114, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -6930,7 +6985,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__pyx_v_config_string = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":105
+ /* "dependency_injector/providers.pyx":113
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file: # <<<<<<<<<<<<<<
@@ -6949,20 +7004,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers._parse_ini_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 105, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 113, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 105, __pyx_L9_except_error)
+ __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 113, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 105, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 113, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__pyx_t_10 < 0) __PYX_ERR(1, 105, __pyx_L9_except_error)
+ if (__pyx_t_10 < 0) __PYX_ERR(1, 113, __pyx_L9_except_error)
__pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_5);
@@ -6970,7 +7025,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__Pyx_XGIVEREF(__pyx_t_3);
__Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3);
__pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0;
- __PYX_ERR(1, 105, __pyx_L9_except_error)
+ __PYX_ERR(1, 113, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -6996,7 +7051,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
if (__pyx_t_4) {
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 105, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -7011,21 +7066,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__pyx_L16:;
}
- /* "dependency_injector/providers.pyx":110
+ /* "dependency_injector/providers.pyx":118
* envs_required=envs_required,
* )
* parser.readfp(StringIO.StringIO(config_string)) # <<<<<<<<<<<<<<
* return parser
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_readfp); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_readfp); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 110, __pyx_L1_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_v_config_string)) { __Pyx_RaiseUnboundLocalError("config_string"); __PYX_ERR(1, 110, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_config_string)) { __Pyx_RaiseUnboundLocalError("config_string"); __PYX_ERR(1, 118, __pyx_L1_error) }
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12);
@@ -7038,7 +7093,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
}
__pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_2, __pyx_v_config_string) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_config_string);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 110, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = NULL;
@@ -7054,12 +7109,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_12, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 110, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":111
+ /* "dependency_injector/providers.pyx":119
* )
* parser.readfp(StringIO.StringIO(config_string))
* return parser # <<<<<<<<<<<<<<
@@ -7071,7 +7126,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
__pyx_r = __pyx_v_parser;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":103
+ /* "dependency_injector/providers.pyx":111
* import StringIO
*
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
@@ -7097,7 +7152,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4_parse_ini_file(CYTH
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":191
+/* "dependency_injector/providers.pyx":199
* """
*
* def __init__(self): # <<<<<<<<<<<<<<
@@ -7136,14 +7191,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":193
+ /* "dependency_injector/providers.pyx":201
* def __init__(self):
* """Initializer."""
* self.__overridden = tuple() # <<<<<<<<<<<<<<
* self.__last_overriding = None
* self.__overrides = tuple()
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 193, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___overridden);
@@ -7151,7 +7206,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
__pyx_v_self->__pyx___overridden = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":194
+ /* "dependency_injector/providers.pyx":202
* """Initializer."""
* self.__overridden = tuple()
* self.__last_overriding = None # <<<<<<<<<<<<<<
@@ -7164,14 +7219,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___last_overriding));
__pyx_v_self->__pyx___last_overriding = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)Py_None);
- /* "dependency_injector/providers.pyx":195
+ /* "dependency_injector/providers.pyx":203
* self.__overridden = tuple()
* self.__last_overriding = None
* self.__overrides = tuple() # <<<<<<<<<<<<<<
* self.__async_mode = ASYNC_MODE_UNDEFINED
* super(Provider, self).__init__()
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 195, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___overrides);
@@ -7179,7 +7234,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
__pyx_v_self->__pyx___overrides = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":196
+ /* "dependency_injector/providers.pyx":204
* self.__last_overriding = None
* self.__overrides = tuple()
* self.__async_mode = ASYNC_MODE_UNDEFINED # <<<<<<<<<<<<<<
@@ -7188,14 +7243,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
*/
__pyx_v_self->__pyx___async_mode = __pyx_v_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED;
- /* "dependency_injector/providers.pyx":197
+ /* "dependency_injector/providers.pyx":205
* self.__overrides = tuple()
* self.__async_mode = ASYNC_MODE_UNDEFINED
* super(Provider, self).__init__() # <<<<<<<<<<<<<<
*
* def __call__(self, *args, **kwargs):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 197, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider));
@@ -7203,10 +7258,10 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 197, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 197, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -7221,12 +7276,12 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 197, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":191
+ /* "dependency_injector/providers.pyx":199
* """
*
* def __init__(self): # <<<<<<<<<<<<<<
@@ -7248,7 +7303,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Provider___init__(struct _
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":199
+/* "dependency_injector/providers.pyx":207
* super(Provider, self).__init__()
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -7296,7 +7351,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":204
+ /* "dependency_injector/providers.pyx":212
* Callable interface implementation.
* """
* if self.__last_overriding is not None: # <<<<<<<<<<<<<<
@@ -7307,19 +7362,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":205
+ /* "dependency_injector/providers.pyx":213
* """
* if self.__last_overriding is not None:
* result = self.__last_overriding(*args, **kwargs) # <<<<<<<<<<<<<<
* else:
* result = self._provide(args, kwargs)
*/
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_self->__pyx___last_overriding), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 205, __pyx_L1_error)
+ __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_self->__pyx___last_overriding), __pyx_v_args, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 213, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_v_result = __pyx_t_4;
+ __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":204
+ /* "dependency_injector/providers.pyx":212
* Callable interface implementation.
* """
* if self.__last_overriding is not None: # <<<<<<<<<<<<<<
@@ -7329,7 +7387,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
goto __pyx_L3;
}
- /* "dependency_injector/providers.pyx":207
+ /* "dependency_injector/providers.pyx":215
* result = self.__last_overriding(*args, **kwargs)
* else:
* result = self._provide(args, kwargs) # <<<<<<<<<<<<<<
@@ -7337,42 +7395,42 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
* if self.is_async_mode_disabled():
*/
/*else*/ {
- __pyx_t_3 = ((struct __pyx_vtabstruct_19dependency_injector_9providers_Provider *)__pyx_v_self->__pyx_vtab)->_provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_t_4 = ((struct __pyx_vtabstruct_19dependency_injector_9providers_Provider *)__pyx_v_self->__pyx_vtab)->_provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 215, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_v_result = __pyx_t_4;
+ __pyx_t_4 = 0;
}
__pyx_L3:;
- /* "dependency_injector/providers.pyx":209
+ /* "dependency_injector/providers.pyx":217
* result = self._provide(args, kwargs)
*
* if self.is_async_mode_disabled(): # <<<<<<<<<<<<<<
* return result
* elif self.is_async_mode_enabled():
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_disabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 209, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_disabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 217, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_4, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 209, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 209, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 217, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 217, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":210
+ /* "dependency_injector/providers.pyx":218
*
* if self.is_async_mode_disabled():
* return result # <<<<<<<<<<<<<<
@@ -7384,7 +7442,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":209
+ /* "dependency_injector/providers.pyx":217
* result = self._provide(args, kwargs)
*
* if self.is_async_mode_disabled(): # <<<<<<<<<<<<<<
@@ -7393,35 +7451,35 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
*/
}
- /* "dependency_injector/providers.pyx":211
+ /* "dependency_injector/providers.pyx":219
* if self.is_async_mode_disabled():
* return result
* elif self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(result):
* return result
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 211, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 219, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_4, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 211, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 211, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 219, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 219, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":212
+ /* "dependency_injector/providers.pyx":220
* return result
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -7431,7 +7489,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":213
+ /* "dependency_injector/providers.pyx":221
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result):
* return result # <<<<<<<<<<<<<<
@@ -7443,7 +7501,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":212
+ /* "dependency_injector/providers.pyx":220
* return result
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -7452,7 +7510,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
*/
}
- /* "dependency_injector/providers.pyx":214
+ /* "dependency_injector/providers.pyx":222
* if __is_future_or_coroutine(result):
* return result
* return __future_result(result) # <<<<<<<<<<<<<<
@@ -7460,13 +7518,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
* if __is_future_or_coroutine(result):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 214, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_r = __pyx_t_3;
- __pyx_t_3 = 0;
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 222, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_r = __pyx_t_4;
+ __pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":211
+ /* "dependency_injector/providers.pyx":219
* if self.is_async_mode_disabled():
* return result
* elif self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
@@ -7475,35 +7533,35 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
*/
}
- /* "dependency_injector/providers.pyx":215
+ /* "dependency_injector/providers.pyx":223
* return result
* return __future_result(result)
* elif self.is_async_mode_undefined(): # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(result):
* self.enable_async_mode()
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_undefined); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_undefined); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 223, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_4, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 215, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 215, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 223, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 223, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":216
+ /* "dependency_injector/providers.pyx":224
* return __future_result(result)
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -7513,33 +7571,33 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":217
+ /* "dependency_injector/providers.pyx":225
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result):
* self.enable_async_mode() # <<<<<<<<<<<<<<
* else:
* self.disable_async_mode()
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_enable_async_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 217, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_enable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 225, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_4, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 217, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 225, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":216
+ /* "dependency_injector/providers.pyx":224
* return __future_result(result)
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -7549,7 +7607,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
goto __pyx_L6;
}
- /* "dependency_injector/providers.pyx":219
+ /* "dependency_injector/providers.pyx":227
* self.enable_async_mode()
* else:
* self.disable_async_mode() # <<<<<<<<<<<<<<
@@ -7557,28 +7615,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
*
*/
/*else*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disable_async_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 227, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_4, function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
+ __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 227, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__pyx_L6:;
- /* "dependency_injector/providers.pyx":220
+ /* "dependency_injector/providers.pyx":228
* else:
* self.disable_async_mode()
* return result # <<<<<<<<<<<<<<
@@ -7590,7 +7648,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":215
+ /* "dependency_injector/providers.pyx":223
* return result
* return __future_result(result)
* elif self.is_async_mode_undefined(): # <<<<<<<<<<<<<<
@@ -7599,7 +7657,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
*/
}
- /* "dependency_injector/providers.pyx":199
+ /* "dependency_injector/providers.pyx":207
* super(Provider, self).__init__()
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -7623,7 +7681,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_2__call__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":222
+/* "dependency_injector/providers.pyx":230
* return result
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -7660,16 +7718,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":224
+ /* "dependency_injector/providers.pyx":232
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 224, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 224, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -7684,13 +7742,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 224, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":225
+ /* "dependency_injector/providers.pyx":233
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -7701,7 +7759,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":226
+ /* "dependency_injector/providers.pyx":234
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -7713,7 +7771,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":225
+ /* "dependency_injector/providers.pyx":233
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -7722,31 +7780,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":228
+ /* "dependency_injector/providers.pyx":236
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 228, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 228, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 236, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":229
+ /* "dependency_injector/providers.pyx":237
*
* copied = _memorized_duplicate(self, memo)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 229, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 229, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 237, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 237, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Provider *)__pyx_v_self->__pyx_vtab)->_copy_overridings(__pyx_v_self, ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":230
+ /* "dependency_injector/providers.pyx":238
* copied = _memorized_duplicate(self, memo)
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -7758,7 +7816,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":222
+ /* "dependency_injector/providers.pyx":230
* return result
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -7781,7 +7839,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_4__deepcopy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":233
+/* "dependency_injector/providers.pyx":241
*
* @classmethod
* def __class_getitem__(cls, item): # <<<<<<<<<<<<<<
@@ -7807,7 +7865,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_6__class_ge
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__class_getitem__", 0);
- /* "dependency_injector/providers.pyx":234
+ /* "dependency_injector/providers.pyx":242
* @classmethod
* def __class_getitem__(cls, item):
* return cls # <<<<<<<<<<<<<<
@@ -7819,7 +7877,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_6__class_ge
__pyx_r = ((PyObject *)__pyx_v_cls);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":233
+ /* "dependency_injector/providers.pyx":241
*
* @classmethod
* def __class_getitem__(cls, item): # <<<<<<<<<<<<<<
@@ -7834,7 +7892,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_6__class_ge
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":236
+/* "dependency_injector/providers.pyx":244
* return cls
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -7868,7 +7926,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8__str__(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":241
+ /* "dependency_injector/providers.pyx":249
* :rtype: str
* """
* return represent_provider(provider=self, provides=None) # <<<<<<<<<<<<<<
@@ -7876,13 +7934,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8__str__(st
* def __repr__(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), Py_None, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 241, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), Py_None, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":236
+ /* "dependency_injector/providers.pyx":244
* return cls
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -7901,7 +7959,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8__str__(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":243
+/* "dependency_injector/providers.pyx":251
* return represent_provider(provider=self, provides=None)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -7937,7 +7995,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10__repr__(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":248
+ /* "dependency_injector/providers.pyx":256
* :rtype: str
* """
* return self.__str__() # <<<<<<<<<<<<<<
@@ -7945,7 +8003,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10__repr__(
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 248, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 256, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -7959,14 +8017,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10__repr__(
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 248, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 256, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":243
+ /* "dependency_injector/providers.pyx":251
* return represent_provider(provider=self, provides=None)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -7987,7 +8045,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10__repr__(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":251
+/* "dependency_injector/providers.pyx":259
*
* @property
* def overridden(self): # <<<<<<<<<<<<<<
@@ -8024,7 +8082,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":253
+ /* "dependency_injector/providers.pyx":261
* def overridden(self):
* """Return tuple of overriding providers."""
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8032,11 +8090,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
*
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 253, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 253, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 253, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 261, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -8050,7 +8108,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 253, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 261, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8060,7 +8118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
(void)__pyx_t_6; (void)__pyx_t_7; (void)__pyx_t_8; /* mark used */
/*try:*/ {
- /* "dependency_injector/providers.pyx":254
+ /* "dependency_injector/providers.pyx":262
* """Return tuple of overriding providers."""
* with self.overriding_lock:
* return self.__overridden # <<<<<<<<<<<<<<
@@ -8072,7 +8130,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
__pyx_r = __pyx_v_self->__pyx___overridden;
goto __pyx_L11_try_return;
- /* "dependency_injector/providers.pyx":253
+ /* "dependency_injector/providers.pyx":261
* def overridden(self):
* """Return tuple of overriding providers."""
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8089,7 +8147,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
if (__pyx_t_2) {
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 253, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -8101,7 +8159,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
if (__pyx_t_2) {
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 253, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -8118,7 +8176,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
__pyx_L13:;
}
- /* "dependency_injector/providers.pyx":251
+ /* "dependency_injector/providers.pyx":259
*
* @property
* def overridden(self): # <<<<<<<<<<<<<<
@@ -8142,7 +8200,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_10overridde
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":257
+/* "dependency_injector/providers.pyx":265
*
* @property
* def last_overriding(self): # <<<<<<<<<<<<<<
@@ -8168,7 +8226,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_15last_over
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":262
+ /* "dependency_injector/providers.pyx":270
* If provider is not overridden, then None is returned.
* """
* return self.__last_overriding # <<<<<<<<<<<<<<
@@ -8180,7 +8238,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_15last_over
__pyx_r = ((PyObject *)__pyx_v_self->__pyx___last_overriding);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":257
+ /* "dependency_injector/providers.pyx":265
*
* @property
* def last_overriding(self): # <<<<<<<<<<<<<<
@@ -8195,7 +8253,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_15last_over
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":264
+/* "dependency_injector/providers.pyx":272
* return self.__last_overriding
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -8238,7 +8296,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__Pyx_RefNannySetupContext("override", 0);
__Pyx_INCREF(__pyx_v_provider);
- /* "dependency_injector/providers.pyx":275
+ /* "dependency_injector/providers.pyx":283
* :rtype: :py:class:`OverridingContext`
* """
* if provider is self: # <<<<<<<<<<<<<<
@@ -8249,24 +8307,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":276
+ /* "dependency_injector/providers.pyx":284
* """
* if provider is self:
* raise Error('Provider {0} could not be overridden ' # <<<<<<<<<<<<<<
* 'with itself'.format(self))
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 276, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":277
+ /* "dependency_injector/providers.pyx":285
* if provider is self:
* raise Error('Provider {0} could not be overridden '
* 'with itself'.format(self)) # <<<<<<<<<<<<<<
*
* if not is_provider(provider):
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_could_not_be_overridd, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 277, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_could_not_be_overridd, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 285, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -8280,7 +8338,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 277, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 285, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -8296,14 +8354,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 276, __pyx_L1_error)
+ __PYX_ERR(1, 284, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":275
+ /* "dependency_injector/providers.pyx":283
* :rtype: :py:class:`OverridingContext`
* """
* if provider is self: # <<<<<<<<<<<<<<
@@ -8312,7 +8370,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
*/
}
- /* "dependency_injector/providers.pyx":279
+ /* "dependency_injector/providers.pyx":287
* 'with itself'.format(self))
*
* if not is_provider(provider): # <<<<<<<<<<<<<<
@@ -8322,19 +8380,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_t_2 = ((!(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_provider, 0) != 0)) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":280
+ /* "dependency_injector/providers.pyx":288
*
* if not is_provider(provider):
* provider = Object(provider) # <<<<<<<<<<<<<<
*
* with self.overriding_lock:
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object), __pyx_v_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 280, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object), __pyx_v_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":279
+ /* "dependency_injector/providers.pyx":287
* 'with itself'.format(self))
*
* if not is_provider(provider): # <<<<<<<<<<<<<<
@@ -8343,7 +8401,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
*/
}
- /* "dependency_injector/providers.pyx":282
+ /* "dependency_injector/providers.pyx":290
* provider = Object(provider)
*
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8351,11 +8409,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
* self.__last_overriding = provider
*/
/*with:*/ {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 282, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 282, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 282, __pyx_L5_error)
+ __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 290, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -8369,7 +8427,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 282, __pyx_L5_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 290, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -8384,19 +8442,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__Pyx_XGOTREF(__pyx_t_11);
/*try:*/ {
- /* "dependency_injector/providers.pyx":283
+ /* "dependency_injector/providers.pyx":291
*
* with self.overriding_lock:
* self.__overridden += (provider,) # <<<<<<<<<<<<<<
* self.__last_overriding = provider
* provider.register_overrides(self)
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 283, __pyx_L9_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_provider);
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___overridden, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 283, __pyx_L9_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___overridden, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 291, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_4);
@@ -8405,14 +8463,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_v_self->__pyx___overridden = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":284
+ /* "dependency_injector/providers.pyx":292
* with self.overriding_lock:
* self.__overridden += (provider,)
* self.__last_overriding = provider # <<<<<<<<<<<<<<
* provider.register_overrides(self)
*
*/
- if (!(likely(((__pyx_v_provider) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_provider, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 284, __pyx_L9_error)
+ if (!(likely(((__pyx_v_provider) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_provider, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 292, __pyx_L9_error)
__pyx_t_4 = __pyx_v_provider;
__Pyx_INCREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
@@ -8421,14 +8479,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_v_self->__pyx___last_overriding = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":285
+ /* "dependency_injector/providers.pyx":293
* self.__overridden += (provider,)
* self.__last_overriding = provider
* provider.register_overrides(self) # <<<<<<<<<<<<<<
*
* return OverridingContext(self, provider)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_register_overrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 285, __pyx_L9_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_register_overrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 293, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -8442,12 +8500,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 285, __pyx_L9_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 293, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":282
+ /* "dependency_injector/providers.pyx":290
* provider = Object(provider)
*
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8467,20 +8525,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.Provider.override", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(1, 282, __pyx_L11_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(1, 290, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 282, __pyx_L11_except_error)
+ __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 290, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 282, __pyx_L11_except_error)
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 290, __pyx_L11_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_12);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- if (__pyx_t_2 < 0) __PYX_ERR(1, 282, __pyx_L11_except_error)
+ if (__pyx_t_2 < 0) __PYX_ERR(1, 290, __pyx_L11_except_error)
__pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_4);
@@ -8488,7 +8546,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_5);
__pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0;
- __PYX_ERR(1, 282, __pyx_L11_except_error)
+ __PYX_ERR(1, 290, __pyx_L11_except_error)
}
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8514,7 +8572,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
if (__pyx_t_8) {
__pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 282, __pyx_L1_error)
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
@@ -8529,7 +8587,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__pyx_L18:;
}
- /* "dependency_injector/providers.pyx":287
+ /* "dependency_injector/providers.pyx":295
* provider.register_overrides(self)
*
* return OverridingContext(self, provider) # <<<<<<<<<<<<<<
@@ -8537,7 +8595,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
* def reset_last_overriding(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 287, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -8545,14 +8603,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_provider);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext), __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 287, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext), __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":264
+ /* "dependency_injector/providers.pyx":272
* return self.__last_overriding
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -8576,7 +8634,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_12override(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":289
+/* "dependency_injector/providers.pyx":297
* return OverridingContext(self, provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -8623,7 +8681,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/providers.pyx":297
+ /* "dependency_injector/providers.pyx":305
* :rtype: None
* """
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8631,11 +8689,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
* raise Error('Provider {0} is not overridden'.format(str(self)))
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 297, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 297, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 297, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 305, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -8649,7 +8707,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 297, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 305, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8664,7 +8722,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_XGOTREF(__pyx_t_8);
/*try:*/ {
- /* "dependency_injector/providers.pyx":298
+ /* "dependency_injector/providers.pyx":306
* """
* with self.overriding_lock:
* if len(self.__overridden) == 0: # <<<<<<<<<<<<<<
@@ -8675,25 +8733,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 298, __pyx_L7_error)
+ __PYX_ERR(1, 306, __pyx_L7_error)
}
- __pyx_t_9 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 298, __pyx_L7_error)
+ __pyx_t_9 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 306, __pyx_L7_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_10 = ((__pyx_t_9 == 0) != 0);
if (unlikely(__pyx_t_10)) {
- /* "dependency_injector/providers.pyx":299
+ /* "dependency_injector/providers.pyx":307
* with self.overriding_lock:
* if len(self.__overridden) == 0:
* raise Error('Provider {0} is not overridden'.format(str(self))) # <<<<<<<<<<<<<<
*
* self.__last_overriding.unregister_overrides(self)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 299, __pyx_L7_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 307, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 299, __pyx_L7_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_is_not_overridden, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 307, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_11 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 299, __pyx_L7_error)
+ __pyx_t_11 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 307, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -8708,7 +8766,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_11);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 299, __pyx_L7_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 307, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -8724,14 +8782,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 299, __pyx_L7_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 307, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 299, __pyx_L7_error)
+ __PYX_ERR(1, 307, __pyx_L7_error)
- /* "dependency_injector/providers.pyx":298
+ /* "dependency_injector/providers.pyx":306
* """
* with self.overriding_lock:
* if len(self.__overridden) == 0: # <<<<<<<<<<<<<<
@@ -8740,14 +8798,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
*/
}
- /* "dependency_injector/providers.pyx":301
+ /* "dependency_injector/providers.pyx":309
* raise Error('Provider {0} is not overridden'.format(str(self)))
*
* self.__last_overriding.unregister_overrides(self) # <<<<<<<<<<<<<<
*
* self.__overridden = self.__overridden[:-1]
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___last_overriding), __pyx_n_s_unregister_overrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 301, __pyx_L7_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___last_overriding), __pyx_n_s_unregister_overrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 309, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -8761,12 +8819,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 301, __pyx_L7_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 309, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":303
+ /* "dependency_injector/providers.pyx":311
* self.__last_overriding.unregister_overrides(self)
*
* self.__overridden = self.__overridden[:-1] # <<<<<<<<<<<<<<
@@ -8775,9 +8833,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
*/
if (unlikely(__pyx_v_self->__pyx___overridden == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 303, __pyx_L7_error)
+ __PYX_ERR(1, 311, __pyx_L7_error)
}
- __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_self->__pyx___overridden, 0, -1L); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 303, __pyx_L7_error)
+ __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_self->__pyx___overridden, 0, -1L); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 311, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___overridden);
@@ -8785,7 +8843,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_v_self->__pyx___overridden = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":304
+ /* "dependency_injector/providers.pyx":312
*
* self.__overridden = self.__overridden[:-1]
* try: # <<<<<<<<<<<<<<
@@ -8801,7 +8859,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_XGOTREF(__pyx_t_15);
/*try:*/ {
- /* "dependency_injector/providers.pyx":305
+ /* "dependency_injector/providers.pyx":313
* self.__overridden = self.__overridden[:-1]
* try:
* self.__last_overriding = self.__overridden[-1] # <<<<<<<<<<<<<<
@@ -8810,18 +8868,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
*/
if (unlikely(__pyx_v_self->__pyx___overridden == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 305, __pyx_L14_error)
+ __PYX_ERR(1, 313, __pyx_L14_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___overridden, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 305, __pyx_L14_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___overridden, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 313, __pyx_L14_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 305, __pyx_L14_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 313, __pyx_L14_error)
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___last_overriding);
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___last_overriding));
__pyx_v_self->__pyx___last_overriding = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":304
+ /* "dependency_injector/providers.pyx":312
*
* self.__overridden = self.__overridden[:-1]
* try: # <<<<<<<<<<<<<<
@@ -8841,7 +8899,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":306
+ /* "dependency_injector/providers.pyx":314
* try:
* self.__last_overriding = self.__overridden[-1]
* except IndexError: # <<<<<<<<<<<<<<
@@ -8851,12 +8909,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_t_16 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
if (__pyx_t_16) {
__Pyx_AddTraceback("dependency_injector.providers.Provider.reset_last_overriding", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(1, 306, __pyx_L16_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(1, 314, __pyx_L16_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":307
+ /* "dependency_injector/providers.pyx":315
* self.__last_overriding = self.__overridden[-1]
* except IndexError:
* self.__last_overriding = None # <<<<<<<<<<<<<<
@@ -8876,7 +8934,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
goto __pyx_L16_except_error;
__pyx_L16_except_error:;
- /* "dependency_injector/providers.pyx":304
+ /* "dependency_injector/providers.pyx":312
*
* self.__overridden = self.__overridden[:-1]
* try: # <<<<<<<<<<<<<<
@@ -8896,7 +8954,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_L19_try_end:;
}
- /* "dependency_injector/providers.pyx":297
+ /* "dependency_injector/providers.pyx":305
* :rtype: None
* """
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -8917,20 +8975,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.Provider.reset_last_overriding", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(1, 297, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(1, 305, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 297, __pyx_L9_except_error)
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 305, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 297, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 305, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_15);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (__pyx_t_10 < 0) __PYX_ERR(1, 297, __pyx_L9_except_error)
+ if (__pyx_t_10 < 0) __PYX_ERR(1, 305, __pyx_L9_except_error)
__pyx_t_17 = ((!(__pyx_t_10 != 0)) != 0);
if (__pyx_t_17) {
__Pyx_GIVEREF(__pyx_t_4);
@@ -8938,7 +8996,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__Pyx_XGIVEREF(__pyx_t_1);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_1);
__pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0;
- __PYX_ERR(1, 297, __pyx_L9_except_error)
+ __PYX_ERR(1, 305, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -8964,7 +9022,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
if (__pyx_t_2) {
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 297, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -8979,7 +9037,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
__pyx_L25:;
}
- /* "dependency_injector/providers.pyx":289
+ /* "dependency_injector/providers.pyx":297
* return OverridingContext(self, provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -9005,7 +9063,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_14reset_las
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":309
+/* "dependency_injector/providers.pyx":317
* self.__last_overriding = None
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -9048,7 +9106,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/providers.pyx":314
+ /* "dependency_injector/providers.pyx":322
* :rtype: None
* """
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -9056,11 +9114,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
* provider.unregister_overrides(self)
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 314, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overriding_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 322, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 314, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 322, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 314, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 322, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -9074,7 +9132,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 314, __pyx_L3_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 322, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9089,7 +9147,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__Pyx_XGOTREF(__pyx_t_8);
/*try:*/ {
- /* "dependency_injector/providers.pyx":315
+ /* "dependency_injector/providers.pyx":323
* """
* with self.overriding_lock:
* for provider in self.__overridden: # <<<<<<<<<<<<<<
@@ -9098,28 +9156,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
*/
if (unlikely(__pyx_v_self->__pyx___overridden == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 315, __pyx_L7_error)
+ __PYX_ERR(1, 323, __pyx_L7_error)
}
__pyx_t_1 = __pyx_v_self->__pyx___overridden; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0;
for (;;) {
if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 315, __pyx_L7_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(1, 323, __pyx_L7_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 315, __pyx_L7_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 323, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":316
+ /* "dependency_injector/providers.pyx":324
* with self.overriding_lock:
* for provider in self.__overridden:
* provider.unregister_overrides(self) # <<<<<<<<<<<<<<
* self.__overridden = tuple()
* self.__last_overriding = None
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_unregister_overrides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 316, __pyx_L7_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_unregister_overrides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 324, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -9133,12 +9191,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 316, __pyx_L7_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 324, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":315
+ /* "dependency_injector/providers.pyx":323
* """
* with self.overriding_lock:
* for provider in self.__overridden: # <<<<<<<<<<<<<<
@@ -9148,14 +9206,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":317
+ /* "dependency_injector/providers.pyx":325
* for provider in self.__overridden:
* provider.unregister_overrides(self)
* self.__overridden = tuple() # <<<<<<<<<<<<<<
* self.__last_overriding = None
*
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 317, __pyx_L7_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 325, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___overridden);
@@ -9163,7 +9221,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__pyx_v_self->__pyx___overridden = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":318
+ /* "dependency_injector/providers.pyx":326
* provider.unregister_overrides(self)
* self.__overridden = tuple()
* self.__last_overriding = None # <<<<<<<<<<<<<<
@@ -9176,7 +9234,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___last_overriding));
__pyx_v_self->__pyx___last_overriding = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)Py_None);
- /* "dependency_injector/providers.pyx":314
+ /* "dependency_injector/providers.pyx":322
* :rtype: None
* """
* with self.overriding_lock: # <<<<<<<<<<<<<<
@@ -9195,20 +9253,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.Provider.reset_override", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(1, 314, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(1, 322, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 314, __pyx_L9_except_error)
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 322, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 314, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 322, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__pyx_t_11 < 0) __PYX_ERR(1, 314, __pyx_L9_except_error)
+ if (__pyx_t_11 < 0) __PYX_ERR(1, 322, __pyx_L9_except_error)
__pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0);
if (__pyx_t_12) {
__Pyx_GIVEREF(__pyx_t_1);
@@ -9216,7 +9274,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4);
__pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0;
- __PYX_ERR(1, 314, __pyx_L9_except_error)
+ __PYX_ERR(1, 322, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -9242,7 +9300,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
if (__pyx_t_2) {
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 314, __pyx_L1_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 322, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -9257,7 +9315,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
__pyx_L18:;
}
- /* "dependency_injector/providers.pyx":309
+ /* "dependency_injector/providers.pyx":317
* self.__last_overriding = None
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -9282,7 +9340,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_16reset_ove
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":321
+/* "dependency_injector/providers.pyx":329
*
* @property
* def overrides(self): # <<<<<<<<<<<<<<
@@ -9308,7 +9366,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_9overrides_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":323
+ /* "dependency_injector/providers.pyx":331
* def overrides(self):
* """Return providers that are overridden by the current provider."""
* return self.__overrides # <<<<<<<<<<<<<<
@@ -9320,7 +9378,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_9overrides_
__pyx_r = __pyx_v_self->__pyx___overrides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":321
+ /* "dependency_injector/providers.pyx":329
*
* @property
* def overrides(self): # <<<<<<<<<<<<<<
@@ -9335,7 +9393,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_9overrides_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":325
+/* "dependency_injector/providers.pyx":333
* return self.__overrides
*
* def register_overrides(self, provider): # <<<<<<<<<<<<<<
@@ -9367,25 +9425,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_18register_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("register_overrides", 0);
- /* "dependency_injector/providers.pyx":327
+ /* "dependency_injector/providers.pyx":335
* def register_overrides(self, provider):
* """Register provider that overrides current provider."""
* self.__overrides = tuple(set(self.__overrides + (provider,))) # <<<<<<<<<<<<<<
*
* def unregister_overrides(self, provider):
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 327, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_provider);
__Pyx_GIVEREF(__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_provider);
- __pyx_t_2 = PyNumber_Add(__pyx_v_self->__pyx___overrides, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 327, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_v_self->__pyx___overrides, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PySet_New(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 327, __pyx_L1_error)
+ __pyx_t_1 = PySet_New(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 327, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -9394,7 +9452,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_18register_
__pyx_v_self->__pyx___overrides = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":325
+ /* "dependency_injector/providers.pyx":333
* return self.__overrides
*
* def register_overrides(self, provider): # <<<<<<<<<<<<<<
@@ -9416,7 +9474,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_18register_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":329
+/* "dependency_injector/providers.pyx":337
* self.__overrides = tuple(set(self.__overrides + (provider,)))
*
* def unregister_overrides(self, provider): # <<<<<<<<<<<<<<
@@ -9451,39 +9509,39 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_20unregiste
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("unregister_overrides", 0);
- /* "dependency_injector/providers.pyx":331
+ /* "dependency_injector/providers.pyx":339
* def unregister_overrides(self, provider):
* """Unregister provider that overrides current provider."""
* overrides = set(self.__overrides) # <<<<<<<<<<<<<<
* if provider in overrides:
* overrides.remove(provider)
*/
- __pyx_t_1 = PySet_New(__pyx_v_self->__pyx___overrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 331, __pyx_L1_error)
+ __pyx_t_1 = PySet_New(__pyx_v_self->__pyx___overrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_overrides = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":332
+ /* "dependency_injector/providers.pyx":340
* """Unregister provider that overrides current provider."""
* overrides = set(self.__overrides)
* if provider in overrides: # <<<<<<<<<<<<<<
* overrides.remove(provider)
* self.__overrides = tuple(overrides)
*/
- __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_v_provider, __pyx_v_overrides, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 332, __pyx_L1_error)
+ __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_v_provider, __pyx_v_overrides, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 340, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":333
+ /* "dependency_injector/providers.pyx":341
* overrides = set(self.__overrides)
* if provider in overrides:
* overrides.remove(provider) # <<<<<<<<<<<<<<
* self.__overrides = tuple(overrides)
*
*/
- __pyx_t_4 = __Pyx_PySet_Remove(__pyx_v_overrides, __pyx_v_provider); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 333, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PySet_Remove(__pyx_v_overrides, __pyx_v_provider); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 341, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":332
+ /* "dependency_injector/providers.pyx":340
* """Unregister provider that overrides current provider."""
* overrides = set(self.__overrides)
* if provider in overrides: # <<<<<<<<<<<<<<
@@ -9492,14 +9550,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_20unregiste
*/
}
- /* "dependency_injector/providers.pyx":334
+ /* "dependency_injector/providers.pyx":342
* if provider in overrides:
* overrides.remove(provider)
* self.__overrides = tuple(overrides) # <<<<<<<<<<<<<<
*
* def async_(self, *args, **kwargs):
*/
- __pyx_t_1 = PySequence_Tuple(__pyx_v_overrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 334, __pyx_L1_error)
+ __pyx_t_1 = PySequence_Tuple(__pyx_v_overrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___overrides);
@@ -9507,7 +9565,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_20unregiste
__pyx_v_self->__pyx___overrides = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":329
+ /* "dependency_injector/providers.pyx":337
* self.__overrides = tuple(set(self.__overrides + (provider,)))
*
* def unregister_overrides(self, provider): # <<<<<<<<<<<<<<
@@ -9529,7 +9587,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_20unregiste
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":336
+/* "dependency_injector/providers.pyx":344
* self.__overrides = tuple(overrides)
*
* def async_(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -9547,12 +9605,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_23async_(Py
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("async_ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "async_", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Provider_22async_(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -9569,12 +9623,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_22async_(st
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("async_", 0);
- /* "dependency_injector/providers.pyx":351
+ /* "dependency_injector/providers.pyx":359
* ...
* """
* return self.__call__(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -9582,16 +9637,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_22async_(st
* def delegate(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 351, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 351, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 359, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":336
+ /* "dependency_injector/providers.pyx":344
* self.__overrides = tuple(overrides)
*
* def async_(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -9603,6 +9661,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_22async_(st
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.Provider.async_", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -9611,7 +9670,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_22async_(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":353
+/* "dependency_injector/providers.pyx":361
* return self.__call__(*args, **kwargs)
*
* def delegate(self): # <<<<<<<<<<<<<<
@@ -9644,44 +9703,44 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_24delegate(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("delegate", 0);
- /* "dependency_injector/providers.pyx":358
+ /* "dependency_injector/providers.pyx":366
* :rtype: :py:class:`Delegate`
* """
* warnings.warn( # <<<<<<<<<<<<<<
* 'Method ".delegate()" is deprecated since version 4.0.0. '
* 'Use ".provider" attribute instead.',
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_warnings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_warnings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":361
+ /* "dependency_injector/providers.pyx":369
* 'Method ".delegate()" is deprecated since version 4.0.0. '
* 'Use ".provider" attribute instead.',
* category=DeprecationWarning, # <<<<<<<<<<<<<<
* )
* return Delegate(self)
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 361, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(1, 361, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(1, 369, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":358
+ /* "dependency_injector/providers.pyx":366
* :rtype: :py:class:`Delegate`
* """
* warnings.warn( # <<<<<<<<<<<<<<
* 'Method ".delegate()" is deprecated since version 4.0.0. '
* 'Use ".provider" attribute instead.',
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":363
+ /* "dependency_injector/providers.pyx":371
* category=DeprecationWarning,
* )
* return Delegate(self) # <<<<<<<<<<<<<<
@@ -9689,13 +9748,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_24delegate(
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 363, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 371, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":353
+ /* "dependency_injector/providers.pyx":361
* return self.__call__(*args, **kwargs)
*
* def delegate(self): # <<<<<<<<<<<<<<
@@ -9716,7 +9775,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_24delegate(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":366
+/* "dependency_injector/providers.pyx":374
*
* @property
* def provider(self): # <<<<<<<<<<<<<<
@@ -9746,7 +9805,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provider__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":371
+ /* "dependency_injector/providers.pyx":379
* :rtype: :py:class:`Delegate`
* """
* return Delegate(self) # <<<<<<<<<<<<<<
@@ -9754,13 +9813,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provider__
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 371, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 379, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":366
+ /* "dependency_injector/providers.pyx":374
*
* @property
* def provider(self): # <<<<<<<<<<<<<<
@@ -9779,7 +9838,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provider__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":374
+/* "dependency_injector/providers.pyx":382
*
* @property
* def provided(self): # <<<<<<<<<<<<<<
@@ -9809,7 +9868,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provided__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":376
+ /* "dependency_injector/providers.pyx":384
* def provided(self):
* """Return :py:class:`ProvidedInstance` provider."""
* return ProvidedInstance(self) # <<<<<<<<<<<<<<
@@ -9817,13 +9876,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provided__
* def enable_async_mode(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 376, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":374
+ /* "dependency_injector/providers.pyx":382
*
* @property
* def provided(self): # <<<<<<<<<<<<<<
@@ -9842,7 +9901,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_8provided__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":378
+/* "dependency_injector/providers.pyx":386
* return ProvidedInstance(self)
*
* def enable_async_mode(self): # <<<<<<<<<<<<<<
@@ -9869,7 +9928,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_26enable_as
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("enable_async_mode", 0);
- /* "dependency_injector/providers.pyx":380
+ /* "dependency_injector/providers.pyx":388
* def enable_async_mode(self):
* """Enable async mode."""
* self.__async_mode = ASYNC_MODE_ENABLED # <<<<<<<<<<<<<<
@@ -9878,7 +9937,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_26enable_as
*/
__pyx_v_self->__pyx___async_mode = __pyx_v_19dependency_injector_9providers_ASYNC_MODE_ENABLED;
- /* "dependency_injector/providers.pyx":378
+ /* "dependency_injector/providers.pyx":386
* return ProvidedInstance(self)
*
* def enable_async_mode(self): # <<<<<<<<<<<<<<
@@ -9893,7 +9952,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_26enable_as
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":382
+/* "dependency_injector/providers.pyx":390
* self.__async_mode = ASYNC_MODE_ENABLED
*
* def disable_async_mode(self): # <<<<<<<<<<<<<<
@@ -9920,7 +9979,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_28disable_a
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("disable_async_mode", 0);
- /* "dependency_injector/providers.pyx":384
+ /* "dependency_injector/providers.pyx":392
* def disable_async_mode(self):
* """Disable async mode."""
* self.__async_mode = ASYNC_MODE_DISABLED # <<<<<<<<<<<<<<
@@ -9929,7 +9988,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_28disable_a
*/
__pyx_v_self->__pyx___async_mode = __pyx_v_19dependency_injector_9providers_ASYNC_MODE_DISABLED;
- /* "dependency_injector/providers.pyx":382
+ /* "dependency_injector/providers.pyx":390
* self.__async_mode = ASYNC_MODE_ENABLED
*
* def disable_async_mode(self): # <<<<<<<<<<<<<<
@@ -9944,7 +10003,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_28disable_a
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":386
+/* "dependency_injector/providers.pyx":394
* self.__async_mode = ASYNC_MODE_DISABLED
*
* def reset_async_mode(self): # <<<<<<<<<<<<<<
@@ -9971,7 +10030,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_30reset_asy
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reset_async_mode", 0);
- /* "dependency_injector/providers.pyx":391
+ /* "dependency_injector/providers.pyx":399
* Provider will automatically set the mode on the next call.
* """
* self.__async_mode = ASYNC_MODE_UNDEFINED # <<<<<<<<<<<<<<
@@ -9980,7 +10039,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_30reset_asy
*/
__pyx_v_self->__pyx___async_mode = __pyx_v_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED;
- /* "dependency_injector/providers.pyx":386
+ /* "dependency_injector/providers.pyx":394
* self.__async_mode = ASYNC_MODE_DISABLED
*
* def reset_async_mode(self): # <<<<<<<<<<<<<<
@@ -9995,7 +10054,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_30reset_asy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":393
+/* "dependency_injector/providers.pyx":401
* self.__async_mode = ASYNC_MODE_UNDEFINED
*
* def is_async_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -10026,7 +10085,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_32is_async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_async_mode_enabled", 0);
- /* "dependency_injector/providers.pyx":395
+ /* "dependency_injector/providers.pyx":403
* def is_async_mode_enabled(self):
* """Check if async mode is enabled."""
* return self.__async_mode == ASYNC_MODE_ENABLED # <<<<<<<<<<<<<<
@@ -10034,13 +10093,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_32is_async_
* def is_async_mode_disabled(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_ENABLED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 395, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_ENABLED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":393
+ /* "dependency_injector/providers.pyx":401
* self.__async_mode = ASYNC_MODE_UNDEFINED
*
* def is_async_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -10059,7 +10118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_32is_async_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":397
+/* "dependency_injector/providers.pyx":405
* return self.__async_mode == ASYNC_MODE_ENABLED
*
* def is_async_mode_disabled(self): # <<<<<<<<<<<<<<
@@ -10090,7 +10149,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_34is_async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_async_mode_disabled", 0);
- /* "dependency_injector/providers.pyx":399
+ /* "dependency_injector/providers.pyx":407
* def is_async_mode_disabled(self):
* """Check if async mode is disabled."""
* return self.__async_mode == ASYNC_MODE_DISABLED # <<<<<<<<<<<<<<
@@ -10098,13 +10157,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_34is_async_
* def is_async_mode_undefined(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_DISABLED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 399, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_DISABLED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":397
+ /* "dependency_injector/providers.pyx":405
* return self.__async_mode == ASYNC_MODE_ENABLED
*
* def is_async_mode_disabled(self): # <<<<<<<<<<<<<<
@@ -10123,7 +10182,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_34is_async_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":401
+/* "dependency_injector/providers.pyx":409
* return self.__async_mode == ASYNC_MODE_DISABLED
*
* def is_async_mode_undefined(self): # <<<<<<<<<<<<<<
@@ -10154,7 +10213,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_36is_async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_async_mode_undefined", 0);
- /* "dependency_injector/providers.pyx":403
+ /* "dependency_injector/providers.pyx":411
* def is_async_mode_undefined(self):
* """Check if async mode is undefined."""
* return self.__async_mode == ASYNC_MODE_UNDEFINED # <<<<<<<<<<<<<<
@@ -10162,13 +10221,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_36is_async_
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 403, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->__pyx___async_mode == __pyx_v_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 411, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":401
+ /* "dependency_injector/providers.pyx":409
* return self.__async_mode == ASYNC_MODE_DISABLED
*
* def is_async_mode_undefined(self): # <<<<<<<<<<<<<<
@@ -10188,7 +10247,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_36is_async_
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Provider_7related_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":406
+/* "dependency_injector/providers.pyx":414
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -10221,7 +10280,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_7related___
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct____get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 406, __pyx_L1_error)
+ __PYX_ERR(1, 414, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -10229,7 +10288,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_7related___
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Provider_7related_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Provider___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 406, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Provider_7related_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Provider___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 414, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -10263,16 +10322,16 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Provider_7related_2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 406, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 414, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":408
+ /* "dependency_injector/providers.pyx":416
* def related(self):
* """Return related providers generator."""
* yield from self.overridden # <<<<<<<<<<<<<<
*
* def traverse(self, types=None):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 408, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -10285,17 +10344,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Provider_7related_2g
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 408, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 416, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 408, __pyx_L1_error)
+ else __PYX_ERR(1, 416, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":406
+ /* "dependency_injector/providers.pyx":414
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -10320,7 +10379,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Provider_7related_2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":410
+/* "dependency_injector/providers.pyx":418
* yield from self.overridden
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
@@ -10361,7 +10420,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_39traverse(
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(1, 410, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "traverse") < 0)) __PYX_ERR(1, 418, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -10375,7 +10434,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_39traverse(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 410, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 418, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Provider.traverse", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -10400,7 +10459,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_38traverse(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("traverse", 0);
- /* "dependency_injector/providers.pyx":412
+ /* "dependency_injector/providers.pyx":420
* def traverse(self, types=None):
* """Return providers traversal generator."""
* return traverse(*self.related, types=types) # <<<<<<<<<<<<<<
@@ -10408,17 +10467,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_38traverse(
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 412, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 412, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 412, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 412, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_v_types) < 0) __PYX_ERR(1, 412, __pyx_L1_error)
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 412, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_v_types) < 0) __PYX_ERR(1, 420, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -10427,7 +10486,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_38traverse(
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":410
+ /* "dependency_injector/providers.pyx":418
* yield from self.overridden
*
* def traverse(self, types=None): # <<<<<<<<<<<<<<
@@ -10449,7 +10508,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_38traverse(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":414
+/* "dependency_injector/providers.pyx":422
* return traverse(*self.related, types=types)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -10480,7 +10539,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Provider__provide(CYT
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Provider_41_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -10500,7 +10559,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Provider__provide(CYT
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -10508,13 +10567,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Provider__provide(CYT
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -10525,7 +10584,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Provider__provide(CYT
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -10548,20 +10607,20 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Provider__provide(CYT
#endif
}
- /* "dependency_injector/providers.pyx":421
+ /* "dependency_injector/providers.pyx":429
* overridden provider is called. Need to be overridden in subclasses.
* """
* raise NotImplementedError() # <<<<<<<<<<<<<<
*
* cpdef void _copy_overridings(self, Provider copied, dict memo):
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 421, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 429, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 421, __pyx_L1_error)
+ __PYX_ERR(1, 429, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":414
+ /* "dependency_injector/providers.pyx":422
* return traverse(*self.related, types=types)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -10619,11 +10678,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_41_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 414, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 422, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 414, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 422, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -10636,14 +10695,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_41_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 414, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 422, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Provider._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 414, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 414, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 422, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 422, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Provider_40_provide(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -10664,7 +10723,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_40_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Provider__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 414, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Provider__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -10681,7 +10740,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_40_provide(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":423
+/* "dependency_injector/providers.pyx":431
* raise NotImplementedError()
*
* cpdef void _copy_overridings(self, Provider copied, dict memo): # <<<<<<<<<<<<<<
@@ -10712,7 +10771,7 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_overridings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_overridings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Provider_43_copy_overridings)) {
__Pyx_INCREF(__pyx_t_1);
@@ -10731,7 +10790,7 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -10739,13 +10798,13 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -10756,7 +10815,7 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_memo);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -10778,7 +10837,7 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
#endif
}
- /* "dependency_injector/providers.pyx":425
+ /* "dependency_injector/providers.pyx":433
* cpdef void _copy_overridings(self, Provider copied, dict memo):
* """Copy provider overridings to a newly copied provider."""
* copied.__overridden = deepcopy(self.__overridden, memo) # <<<<<<<<<<<<<<
@@ -10789,17 +10848,17 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
__Pyx_INCREF(__pyx_t_1);
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = __pyx_v_memo;
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 425, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 425, __pyx_L1_error)
+ if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 433, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_copied->__pyx___overridden);
__Pyx_DECREF(__pyx_v_copied->__pyx___overridden);
__pyx_v_copied->__pyx___overridden = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":426
+ /* "dependency_injector/providers.pyx":434
* """Copy provider overridings to a newly copied provider."""
* copied.__overridden = deepcopy(self.__overridden, memo)
* copied.__last_overriding = deepcopy(self.__last_overriding, memo) # <<<<<<<<<<<<<<
@@ -10810,17 +10869,17 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
__Pyx_INCREF(__pyx_t_2);
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = __pyx_v_memo;
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 426, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 426, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 434, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_copied->__pyx___last_overriding);
__Pyx_DECREF(((PyObject *)__pyx_v_copied->__pyx___last_overriding));
__pyx_v_copied->__pyx___last_overriding = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":427
+ /* "dependency_injector/providers.pyx":435
* copied.__overridden = deepcopy(self.__overridden, memo)
* copied.__last_overriding = deepcopy(self.__last_overriding, memo)
* copied.__overrides = deepcopy(self.__overrides, memo) # <<<<<<<<<<<<<<
@@ -10831,17 +10890,17 @@ static void __pyx_f_19dependency_injector_9providers_8Provider__copy_overridings
__Pyx_INCREF(__pyx_t_1);
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = __pyx_v_memo;
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 427, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 435, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 427, __pyx_L1_error)
+ if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 435, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_copied->__pyx___overrides);
__Pyx_DECREF(__pyx_v_copied->__pyx___overrides);
__pyx_v_copied->__pyx___overrides = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":423
+ /* "dependency_injector/providers.pyx":431
* raise NotImplementedError()
*
* cpdef void _copy_overridings(self, Provider copied, dict memo): # <<<<<<<<<<<<<<
@@ -10897,11 +10956,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_43_copy_ove
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_overridings", 1, 2, 2, 1); __PYX_ERR(1, 423, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_overridings", 1, 2, 2, 1); __PYX_ERR(1, 431, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_overridings") < 0)) __PYX_ERR(1, 423, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_overridings") < 0)) __PYX_ERR(1, 431, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -10914,14 +10973,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Provider_43_copy_ove
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_overridings", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 423, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_overridings", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 431, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Provider._copy_overridings", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copied), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "copied", 0))) __PYX_ERR(1, 423, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 423, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copied), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "copied", 0))) __PYX_ERR(1, 431, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 431, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Provider_42_copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), __pyx_v_copied, __pyx_v_memo);
/* function exit code */
@@ -10942,7 +11001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_42_copy_ove
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_overridings", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_void_to_None(__pyx_f_19dependency_injector_9providers_8Provider__copy_overridings(__pyx_v_self, __pyx_v_copied, __pyx_v_memo, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 423, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_void_to_None(__pyx_f_19dependency_injector_9providers_8Provider__copy_overridings(__pyx_v_self, __pyx_v_copied, __pyx_v_memo, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -11281,7 +11340,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Provider_46__setstat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":440
+/* "dependency_injector/providers.pyx":448
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -11325,7 +11384,7 @@ static int __pyx_pw_19dependency_injector_9providers_6Object_1__init__(PyObject
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 440, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 448, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -11339,7 +11398,7 @@ static int __pyx_pw_19dependency_injector_9providers_6Object_1__init__(PyObject
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 440, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 448, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Object.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -11363,7 +11422,7 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":442
+ /* "dependency_injector/providers.pyx":450
* def __init__(self, provides=None):
* """Initialize provider."""
* self.__provides = None # <<<<<<<<<<<<<<
@@ -11376,14 +11435,14 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":443
+ /* "dependency_injector/providers.pyx":451
* """Initialize provider."""
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
* super(Object, self).__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 443, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 451, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -11397,19 +11456,19 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 443, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 451, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":444
+ /* "dependency_injector/providers.pyx":452
* self.__provides = None
* self.set_provides(provides)
* super(Object, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 444, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object));
@@ -11417,10 +11476,10 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 444, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 444, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -11435,12 +11494,12 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 444, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":440
+ /* "dependency_injector/providers.pyx":448
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -11462,7 +11521,7 @@ static int __pyx_pf_19dependency_injector_9providers_6Object___init__(struct __p
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":446
+/* "dependency_injector/providers.pyx":454
* super(Object, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -11499,16 +11558,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":448
+ /* "dependency_injector/providers.pyx":456
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 448, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 448, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -11523,13 +11582,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 448, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":449
+ /* "dependency_injector/providers.pyx":457
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -11540,7 +11599,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":450
+ /* "dependency_injector/providers.pyx":458
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -11552,7 +11611,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":449
+ /* "dependency_injector/providers.pyx":457
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -11561,29 +11620,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
*/
}
- /* "dependency_injector/providers.pyx":452
+ /* "dependency_injector/providers.pyx":460
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(self.provides)
*
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 452, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 452, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 460, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":453
+ /* "dependency_injector/providers.pyx":461
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(self.provides) # <<<<<<<<<<<<<<
*
* self._copy_overridings(copied, memo)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 453, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 453, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -11598,23 +11657,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 453, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":455
+ /* "dependency_injector/providers.pyx":463
* copied.set_provides(self.provides)
*
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 455, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 455, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 463, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 463, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Object *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":457
+ /* "dependency_injector/providers.pyx":465
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -11626,7 +11685,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":446
+ /* "dependency_injector/providers.pyx":454
* super(Object, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -11649,7 +11708,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_2__deepcopy__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":459
+/* "dependency_injector/providers.pyx":467
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -11684,7 +11743,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_4__str__(stru
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":464
+ /* "dependency_injector/providers.pyx":472
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.__provides) # <<<<<<<<<<<<<<
@@ -11694,14 +11753,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_4__str__(stru
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 464, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":459
+ /* "dependency_injector/providers.pyx":467
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -11721,7 +11780,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_4__str__(stru
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":466
+/* "dependency_injector/providers.pyx":474
* return represent_provider(provider=self, provides=self.__provides)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -11757,7 +11816,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_6__repr__(str
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":471
+ /* "dependency_injector/providers.pyx":479
* :rtype: str
* """
* return self.__str__() # <<<<<<<<<<<<<<
@@ -11765,7 +11824,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_6__repr__(str
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 471, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -11779,14 +11838,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_6__repr__(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 471, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":466
+ /* "dependency_injector/providers.pyx":474
* return represent_provider(provider=self, provides=self.__provides)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -11807,7 +11866,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_6__repr__(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":474
+/* "dependency_injector/providers.pyx":482
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -11833,7 +11892,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8provides___g
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":476
+ /* "dependency_injector/providers.pyx":484
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -11845,7 +11904,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8provides___g
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":474
+ /* "dependency_injector/providers.pyx":482
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -11860,7 +11919,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8provides___g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":478
+/* "dependency_injector/providers.pyx":486
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -11887,7 +11946,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8set_provides
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":480
+ /* "dependency_injector/providers.pyx":488
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -11900,7 +11959,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8set_provides
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":481
+ /* "dependency_injector/providers.pyx":489
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -11912,7 +11971,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8set_provides
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":478
+ /* "dependency_injector/providers.pyx":486
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -11928,7 +11987,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_8set_provides
}
static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":484
+/* "dependency_injector/providers.pyx":492
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -11961,7 +12020,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_7related___ge
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_1___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 484, __pyx_L1_error)
+ __PYX_ERR(1, 492, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -11969,7 +12028,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_7related___ge
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_6Object_7related_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Object___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 484, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_6Object_7related_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Object___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 492, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -12007,9 +12066,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 484, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 492, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":486
+ /* "dependency_injector/providers.pyx":494
* def related(self):
* """Return related providers generator."""
* if isinstance(self.__provides, Provider): # <<<<<<<<<<<<<<
@@ -12023,7 +12082,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":487
+ /* "dependency_injector/providers.pyx":495
* """Return related providers generator."""
* if isinstance(self.__provides, Provider):
* yield self.__provides # <<<<<<<<<<<<<<
@@ -12039,9 +12098,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 487, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 495, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":486
+ /* "dependency_injector/providers.pyx":494
* def related(self):
* """Return related providers generator."""
* if isinstance(self.__provides, Provider): # <<<<<<<<<<<<<<
@@ -12050,14 +12109,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
*/
}
- /* "dependency_injector/providers.pyx":488
+ /* "dependency_injector/providers.pyx":496
* if isinstance(self.__provides, Provider):
* yield self.__provides
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 488, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object));
@@ -12065,10 +12124,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 488, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 488, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -12082,17 +12141,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 488, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 496, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 488, __pyx_L1_error)
+ else __PYX_ERR(1, 496, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":484
+ /* "dependency_injector/providers.pyx":492
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -12118,7 +12177,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_6Object_7related_2gen
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":490
+/* "dependency_injector/providers.pyx":498
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -12149,7 +12208,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_6Object_11_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -12169,7 +12228,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -12177,13 +12236,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -12194,7 +12253,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -12217,7 +12276,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
#endif
}
- /* "dependency_injector/providers.pyx":501
+ /* "dependency_injector/providers.pyx":509
* :rtype: object
* """
* return self.__provides # <<<<<<<<<<<<<<
@@ -12229,7 +12288,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_6Object__provide(struc
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":490
+ /* "dependency_injector/providers.pyx":498
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -12287,11 +12346,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_6Object_11_provide(Py
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 490, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 498, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 490, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 498, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -12304,14 +12363,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_6Object_11_provide(Py
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 490, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 498, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Object._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 490, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 490, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 498, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 498, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_6Object_10_provide(((struct __pyx_obj_19dependency_injector_9providers_Object *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -12332,7 +12391,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_10_provide(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_6Object__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 490, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_6Object__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -12681,7 +12740,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6Object_14__setstate_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":507
+/* "dependency_injector/providers.pyx":515
* """Self provider returns own container."""
*
* def __init__(self, container=None): # <<<<<<<<<<<<<<
@@ -12725,7 +12784,7 @@ static int __pyx_pw_19dependency_injector_9providers_4Self_1__init__(PyObject *_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 507, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 515, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -12739,7 +12798,7 @@ static int __pyx_pw_19dependency_injector_9providers_4Self_1__init__(PyObject *_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 507, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 515, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Self.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -12763,7 +12822,7 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":509
+ /* "dependency_injector/providers.pyx":517
* def __init__(self, container=None):
* """Initialize provider."""
* self.__container = container # <<<<<<<<<<<<<<
@@ -12776,14 +12835,14 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
__Pyx_DECREF(__pyx_v_self->__pyx___container);
__pyx_v_self->__pyx___container = __pyx_v_container;
- /* "dependency_injector/providers.pyx":510
+ /* "dependency_injector/providers.pyx":518
* """Initialize provider."""
* self.__container = container
* self.__alt_names = tuple() # <<<<<<<<<<<<<<
* super().__init__()
*
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 510, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___alt_names);
@@ -12791,14 +12850,14 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
__pyx_v_self->__pyx___alt_names = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":511
+ /* "dependency_injector/providers.pyx":519
* self.__container = container
* self.__alt_names = tuple()
* super().__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Self));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Self));
@@ -12806,10 +12865,10 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 511, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -12824,12 +12883,12 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 511, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":507
+ /* "dependency_injector/providers.pyx":515
* """Self provider returns own container."""
*
* def __init__(self, container=None): # <<<<<<<<<<<<<<
@@ -12851,7 +12910,7 @@ static int __pyx_pf_19dependency_injector_9providers_4Self___init__(struct __pyx
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":513
+/* "dependency_injector/providers.pyx":521
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -12889,16 +12948,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":515
+ /* "dependency_injector/providers.pyx":523
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 515, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 515, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -12913,13 +12972,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 515, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":516
+ /* "dependency_injector/providers.pyx":524
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -12930,7 +12989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":517
+ /* "dependency_injector/providers.pyx":525
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -12942,7 +13001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":516
+ /* "dependency_injector/providers.pyx":524
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -12951,34 +13010,34 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
*/
}
- /* "dependency_injector/providers.pyx":519
+ /* "dependency_injector/providers.pyx":527
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_container(deepcopy(self.__container, memo))
* copied.set_alt_names(self.__alt_names)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 519, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 519, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 527, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 527, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":520
+ /* "dependency_injector/providers.pyx":528
*
* copied = _memorized_duplicate(self, memo)
* copied.set_container(deepcopy(self.__container, memo)) # <<<<<<<<<<<<<<
* copied.set_alt_names(self.__alt_names)
* self._copy_overridings(copied, memo)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_container); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 520, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_container); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_v_self->__pyx___container;
__Pyx_INCREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 520, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 528, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 520, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -12994,19 +13053,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 520, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":521
+ /* "dependency_injector/providers.pyx":529
* copied = _memorized_duplicate(self, memo)
* copied.set_container(deepcopy(self.__container, memo))
* copied.set_alt_names(self.__alt_names) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_alt_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 521, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_alt_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 529, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -13020,23 +13079,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_self->__pyx___alt_names) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self->__pyx___alt_names);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 521, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 529, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":522
+ /* "dependency_injector/providers.pyx":530
* copied.set_container(deepcopy(self.__container, memo))
* copied.set_alt_names(self.__alt_names)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 522, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 522, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 530, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 530, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Self *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":523
+ /* "dependency_injector/providers.pyx":531
* copied.set_alt_names(self.__alt_names)
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -13048,7 +13107,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":513
+ /* "dependency_injector/providers.pyx":521
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -13071,7 +13130,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_2__deepcopy__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":525
+/* "dependency_injector/providers.pyx":533
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -13106,7 +13165,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_4__str__(struct
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":530
+ /* "dependency_injector/providers.pyx":538
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.__container) # <<<<<<<<<<<<<<
@@ -13116,14 +13175,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_4__str__(struct
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___container;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 530, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 538, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":525
+ /* "dependency_injector/providers.pyx":533
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -13143,7 +13202,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_4__str__(struct
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":532
+/* "dependency_injector/providers.pyx":540
* return represent_provider(provider=self, provides=self.__container)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -13179,7 +13238,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_6__repr__(struc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":537
+ /* "dependency_injector/providers.pyx":545
* :rtype: str
* """
* return self.__str__() # <<<<<<<<<<<<<<
@@ -13187,7 +13246,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_6__repr__(struc
* def set_container(self, container):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 537, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 545, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -13201,14 +13260,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_6__repr__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 537, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 545, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":532
+ /* "dependency_injector/providers.pyx":540
* return represent_provider(provider=self, provides=self.__container)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -13229,7 +13288,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_6__repr__(struc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":539
+/* "dependency_injector/providers.pyx":547
* return self.__str__()
*
* def set_container(self, container): # <<<<<<<<<<<<<<
@@ -13255,7 +13314,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_8set_container(
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_container", 0);
- /* "dependency_injector/providers.pyx":540
+ /* "dependency_injector/providers.pyx":548
*
* def set_container(self, container):
* self.__container = container # <<<<<<<<<<<<<<
@@ -13268,7 +13327,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_8set_container(
__Pyx_DECREF(__pyx_v_self->__pyx___container);
__pyx_v_self->__pyx___container = __pyx_v_container;
- /* "dependency_injector/providers.pyx":539
+ /* "dependency_injector/providers.pyx":547
* return self.__str__()
*
* def set_container(self, container): # <<<<<<<<<<<<<<
@@ -13283,7 +13342,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_8set_container(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":542
+/* "dependency_injector/providers.pyx":550
* self.__container = container
*
* def set_alt_names(self, alt_names): # <<<<<<<<<<<<<<
@@ -13314,16 +13373,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_10set_alt_names
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_alt_names", 0);
- /* "dependency_injector/providers.pyx":543
+ /* "dependency_injector/providers.pyx":551
*
* def set_alt_names(self, alt_names):
* self.__alt_names = tuple(set(alt_names)) # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_1 = PySet_New(__pyx_v_alt_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 543, __pyx_L1_error)
+ __pyx_t_1 = PySet_New(__pyx_v_alt_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 543, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -13332,7 +13391,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_10set_alt_names
__pyx_v_self->__pyx___alt_names = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":542
+ /* "dependency_injector/providers.pyx":550
* self.__container = container
*
* def set_alt_names(self, alt_names): # <<<<<<<<<<<<<<
@@ -13354,7 +13413,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_10set_alt_names
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":546
+/* "dependency_injector/providers.pyx":554
*
* @property
* def alt_names(self): # <<<<<<<<<<<<<<
@@ -13380,7 +13439,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_9alt_names___ge
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":547
+ /* "dependency_injector/providers.pyx":555
* @property
* def alt_names(self):
* return self.__alt_names # <<<<<<<<<<<<<<
@@ -13392,7 +13451,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_9alt_names___ge
__pyx_r = __pyx_v_self->__pyx___alt_names;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":546
+ /* "dependency_injector/providers.pyx":554
*
* @property
* def alt_names(self): # <<<<<<<<<<<<<<
@@ -13407,7 +13466,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_9alt_names___ge
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":549
+/* "dependency_injector/providers.pyx":557
* return self.__alt_names
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -13438,7 +13497,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_4Self_13_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -13458,7 +13517,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -13466,13 +13525,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -13483,7 +13542,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -13506,7 +13565,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
#endif
}
- /* "dependency_injector/providers.pyx":550
+ /* "dependency_injector/providers.pyx":558
*
* cpdef object _provide(self, tuple args, dict kwargs):
* return self.__container # <<<<<<<<<<<<<<
@@ -13518,7 +13577,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Self__provide(struct
__pyx_r = __pyx_v_self->__pyx___container;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":549
+ /* "dependency_injector/providers.pyx":557
* return self.__alt_names
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -13575,11 +13634,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Self_13_provide(PyOb
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 549, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 557, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 549, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 557, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -13592,14 +13651,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Self_13_provide(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 549, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 557, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Self._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 549, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 549, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 557, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 557, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_4Self_12_provide(((struct __pyx_obj_19dependency_injector_9providers_Self *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -13620,7 +13679,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_12_provide(stru
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4Self__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 549, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4Self__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -13979,7 +14038,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Self_16__setstate_cy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":563
+/* "dependency_injector/providers.pyx":571
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -14023,7 +14082,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Delegate_1__init__(PyObjec
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 563, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 571, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -14037,7 +14096,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Delegate_1__init__(PyObjec
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 563, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 571, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Delegate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -14061,7 +14120,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":565
+ /* "dependency_injector/providers.pyx":573
* def __init__(self, provides=None):
* """Initialize provider."""
* self.__provides = None # <<<<<<<<<<<<<<
@@ -14074,14 +14133,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":566
+ /* "dependency_injector/providers.pyx":574
* """Initialize provider."""
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
* super(Delegate, self).__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 566, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -14095,19 +14154,19 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 566, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":567
+ /* "dependency_injector/providers.pyx":575
* self.__provides = None
* self.set_provides(provides)
* super(Delegate, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate));
@@ -14115,10 +14174,10 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 567, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -14133,12 +14192,12 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 567, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":563
+ /* "dependency_injector/providers.pyx":571
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -14160,7 +14219,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Delegate___init__(struct _
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":569
+/* "dependency_injector/providers.pyx":577
* super(Delegate, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -14197,16 +14256,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":571
+ /* "dependency_injector/providers.pyx":579
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 571, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 571, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -14221,13 +14280,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 571, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":572
+ /* "dependency_injector/providers.pyx":580
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -14238,7 +14297,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":573
+ /* "dependency_injector/providers.pyx":581
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -14250,7 +14309,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":572
+ /* "dependency_injector/providers.pyx":580
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -14259,32 +14318,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":575
+ /* "dependency_injector/providers.pyx":583
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* self._copy_overridings(copied, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 575, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 575, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 583, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":576
+ /* "dependency_injector/providers.pyx":584
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 576, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 576, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 576, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 576, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 584, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -14300,23 +14359,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 576, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":577
+ /* "dependency_injector/providers.pyx":585
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 577, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 577, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 585, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 585, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":579
+ /* "dependency_injector/providers.pyx":587
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -14328,7 +14387,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":569
+ /* "dependency_injector/providers.pyx":577
* super(Delegate, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -14351,7 +14410,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_2__deepcopy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":581
+/* "dependency_injector/providers.pyx":589
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -14386,7 +14445,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_4__str__(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":586
+ /* "dependency_injector/providers.pyx":594
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.__provides) # <<<<<<<<<<<<<<
@@ -14396,14 +14455,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_4__str__(st
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 586, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 594, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":581
+ /* "dependency_injector/providers.pyx":589
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -14423,7 +14482,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_4__str__(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":588
+/* "dependency_injector/providers.pyx":596
* return represent_provider(provider=self, provides=self.__provides)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -14459,7 +14518,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_6__repr__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":593
+ /* "dependency_injector/providers.pyx":601
* :rtype: str
* """
* return self.__str__() # <<<<<<<<<<<<<<
@@ -14467,7 +14526,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_6__repr__(s
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 593, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -14481,14 +14540,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_6__repr__(s
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 593, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":588
+ /* "dependency_injector/providers.pyx":596
* return represent_provider(provider=self, provides=self.__provides)
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -14509,7 +14568,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_6__repr__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":596
+/* "dependency_injector/providers.pyx":604
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -14535,7 +14594,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8provides__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":598
+ /* "dependency_injector/providers.pyx":606
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -14547,7 +14606,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8provides__
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":596
+ /* "dependency_injector/providers.pyx":604
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -14562,7 +14621,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8provides__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":600
+/* "dependency_injector/providers.pyx":608
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -14595,29 +14654,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8set_provid
__Pyx_RefNannySetupContext("set_provides", 0);
__Pyx_INCREF(__pyx_v_provides);
- /* "dependency_injector/providers.pyx":602
+ /* "dependency_injector/providers.pyx":610
* def set_provides(self, provides):
* """Set provider's provides."""
* if provides: # <<<<<<<<<<<<<<
* provides = ensure_is_provider(provides)
* self.__provides = provides
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 602, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 610, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":603
+ /* "dependency_injector/providers.pyx":611
* """Set provider's provides."""
* if provides:
* provides = ensure_is_provider(provides) # <<<<<<<<<<<<<<
* self.__provides = provides
* return self
*/
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_provides, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 603, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_provides, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_provides, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":602
+ /* "dependency_injector/providers.pyx":610
* def set_provides(self, provides):
* """Set provider's provides."""
* if provides: # <<<<<<<<<<<<<<
@@ -14626,7 +14685,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8set_provid
*/
}
- /* "dependency_injector/providers.pyx":604
+ /* "dependency_injector/providers.pyx":612
* if provides:
* provides = ensure_is_provider(provides)
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -14639,7 +14698,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8set_provid
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":605
+ /* "dependency_injector/providers.pyx":613
* provides = ensure_is_provider(provides)
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -14651,7 +14710,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8set_provid
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":600
+ /* "dependency_injector/providers.pyx":608
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -14672,7 +14731,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_8set_provid
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":608
+/* "dependency_injector/providers.pyx":616
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -14705,7 +14764,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_7related___
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_2___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 608, __pyx_L1_error)
+ __PYX_ERR(1, 616, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -14713,7 +14772,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_7related___
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Delegate_7related_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Delegate___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 608, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Delegate_7related_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Delegate___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 616, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -14749,9 +14808,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 608, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 616, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":610
+ /* "dependency_injector/providers.pyx":618
* def related(self):
* """Return related providers generator."""
* yield self.__provides # <<<<<<<<<<<<<<
@@ -14767,16 +14826,16 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2g
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 610, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 618, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":611
+ /* "dependency_injector/providers.pyx":619
* """Return related providers generator."""
* yield self.__provides
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 611, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 619, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Delegate));
@@ -14784,10 +14843,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2g
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 611, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 619, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 611, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 619, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -14801,17 +14860,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2g
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 611, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 619, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 611, __pyx_L1_error)
+ else __PYX_ERR(1, 619, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":608
+ /* "dependency_injector/providers.pyx":616
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -14837,7 +14896,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Delegate_7related_2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":613
+/* "dependency_injector/providers.pyx":621
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -14868,7 +14927,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Delegate_11_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -14888,7 +14947,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -14896,13 +14955,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -14913,7 +14972,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -14936,7 +14995,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
#endif
}
- /* "dependency_injector/providers.pyx":624
+ /* "dependency_injector/providers.pyx":632
* :rtype: object
* """
* return self.__provides # <<<<<<<<<<<<<<
@@ -14948,7 +15007,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Delegate__provide(str
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":613
+ /* "dependency_injector/providers.pyx":621
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -15006,11 +15065,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Delegate_11_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 613, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 621, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 613, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 621, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -15023,14 +15082,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Delegate_11_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 613, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 621, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Delegate._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 613, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 613, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 621, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 621, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Delegate_10_provide(((struct __pyx_obj_19dependency_injector_9providers_Delegate *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -15051,7 +15110,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_10_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Delegate__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 613, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Delegate__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 621, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -15400,7 +15459,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Delegate_14__setstat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":650
+/* "dependency_injector/providers.pyx":658
* """
*
* def __init__(self, object instance_of=object, default=None): # <<<<<<<<<<<<<<
@@ -15454,7 +15513,7 @@ static int __pyx_pw_19dependency_injector_9providers_10Dependency_1__init__(PyOb
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 650, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 658, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -15471,7 +15530,7 @@ static int __pyx_pw_19dependency_injector_9providers_10Dependency_1__init__(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 650, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 658, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Dependency.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -15495,7 +15554,7 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":652
+ /* "dependency_injector/providers.pyx":660
* def __init__(self, object instance_of=object, default=None):
* """Initialize provider."""
* self.__instance_of = None # <<<<<<<<<<<<<<
@@ -15508,14 +15567,14 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
__Pyx_DECREF(__pyx_v_self->__pyx___instance_of);
__pyx_v_self->__pyx___instance_of = Py_None;
- /* "dependency_injector/providers.pyx":653
+ /* "dependency_injector/providers.pyx":661
* """Initialize provider."""
* self.__instance_of = None
* self.set_instance_of(instance_of) # <<<<<<<<<<<<<<
*
* self.__default = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_instance_of); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 653, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_instance_of); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15529,12 +15588,12 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_instance_of) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_instance_of);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":655
+ /* "dependency_injector/providers.pyx":663
* self.set_instance_of(instance_of)
*
* self.__default = None # <<<<<<<<<<<<<<
@@ -15547,14 +15606,14 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
__Pyx_DECREF(__pyx_v_self->__pyx___default);
__pyx_v_self->__pyx___default = Py_None;
- /* "dependency_injector/providers.pyx":656
+ /* "dependency_injector/providers.pyx":664
*
* self.__default = None
* self.set_default(default) # <<<<<<<<<<<<<<
*
* self.__parent = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 656, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 664, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15568,12 +15627,12 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_default) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_default);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 656, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 664, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":658
+ /* "dependency_injector/providers.pyx":666
* self.set_default(default)
*
* self.__parent = None # <<<<<<<<<<<<<<
@@ -15586,14 +15645,14 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = Py_None;
- /* "dependency_injector/providers.pyx":660
+ /* "dependency_injector/providers.pyx":668
* self.__parent = None
*
* super(Dependency, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 660, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
@@ -15601,10 +15660,10 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 660, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 660, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -15619,12 +15678,12 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 660, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":650
+ /* "dependency_injector/providers.pyx":658
* """
*
* def __init__(self, object instance_of=object, default=None): # <<<<<<<<<<<<<<
@@ -15646,7 +15705,7 @@ static int __pyx_pf_19dependency_injector_9providers_10Dependency___init__(struc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":662
+/* "dependency_injector/providers.pyx":670
* super(Dependency, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -15685,16 +15744,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":664
+ /* "dependency_injector/providers.pyx":672
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 664, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 664, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15709,13 +15768,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 664, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":665
+ /* "dependency_injector/providers.pyx":673
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -15726,7 +15785,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":666
+ /* "dependency_injector/providers.pyx":674
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -15738,7 +15797,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":665
+ /* "dependency_injector/providers.pyx":673
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -15747,29 +15806,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
*/
}
- /* "dependency_injector/providers.pyx":668
+ /* "dependency_injector/providers.pyx":676
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_instance_of(self.instance_of)
* copied.set_default(deepcopy(self.default, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 668, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 668, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 676, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 676, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":669
+ /* "dependency_injector/providers.pyx":677
*
* copied = _memorized_duplicate(self, memo)
* copied.set_instance_of(self.instance_of) # <<<<<<<<<<<<<<
* copied.set_default(deepcopy(self.default, memo))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_instance_of); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 669, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_instance_of); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 669, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -15784,26 +15843,26 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 669, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":670
+ /* "dependency_injector/providers.pyx":678
* copied = _memorized_duplicate(self, memo)
* copied.set_instance_of(self.instance_of)
* copied.set_default(deepcopy(self.default, memo)) # <<<<<<<<<<<<<<
*
* self._copy_parent(copied, memo)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 670, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 670, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 670, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 678, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 670, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -15819,19 +15878,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 670, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":672
+ /* "dependency_injector/providers.pyx":680
* copied.set_default(deepcopy(self.default, memo))
*
* self._copy_parent(copied, memo) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 672, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 680, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_8 = 0;
@@ -15848,7 +15907,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_copied, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 672, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 680, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -15856,13 +15915,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_copied, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 672, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 680, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_3 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 672, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 680, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -15873,25 +15932,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_v_memo);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 672, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 680, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":673
+ /* "dependency_injector/providers.pyx":681
*
* self._copy_parent(copied, memo)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 673, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 673, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 681, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 681, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":675
+ /* "dependency_injector/providers.pyx":683
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -15903,7 +15962,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":662
+ /* "dependency_injector/providers.pyx":670
* super(Dependency, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -15926,7 +15985,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_2__deepc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":677
+/* "dependency_injector/providers.pyx":685
* return copied
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -15947,12 +16006,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10Dependency_5__call_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_10Dependency_4__call__(((struct __pyx_obj_19dependency_injector_9providers_Dependency *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -15983,29 +16038,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":684
+ /* "dependency_injector/providers.pyx":692
* :rtype: object
* """
* if self.__last_overriding: # <<<<<<<<<<<<<<
* result = self.__last_overriding(*args, **kwargs)
* elif self.__default:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 684, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 692, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":685
+ /* "dependency_injector/providers.pyx":693
* """
* if self.__last_overriding:
* result = self.__last_overriding(*args, **kwargs) # <<<<<<<<<<<<<<
* elif self.__default:
* result = self.__default(*args, **kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 685, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 693, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_v_result = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding), __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 693, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_result = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":684
+ /* "dependency_injector/providers.pyx":692
* :rtype: object
* """
* if self.__last_overriding: # <<<<<<<<<<<<<<
@@ -16015,29 +16073,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
goto __pyx_L3;
}
- /* "dependency_injector/providers.pyx":686
+ /* "dependency_injector/providers.pyx":694
* if self.__last_overriding:
* result = self.__last_overriding(*args, **kwargs)
* elif self.__default: # <<<<<<<<<<<<<<
* result = self.__default(*args, **kwargs)
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 686, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 694, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":687
+ /* "dependency_injector/providers.pyx":695
* result = self.__last_overriding(*args, **kwargs)
* elif self.__default:
* result = self.__default(*args, **kwargs) # <<<<<<<<<<<<<<
* else:
* self._raise_undefined_error()
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___default, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 687, __pyx_L1_error)
+ __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 695, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___default, __pyx_v_args, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":686
+ /* "dependency_injector/providers.pyx":694
* if self.__last_overriding:
* result = self.__last_overriding(*args, **kwargs)
* elif self.__default: # <<<<<<<<<<<<<<
@@ -16047,7 +16108,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
goto __pyx_L3;
}
- /* "dependency_injector/providers.pyx":689
+ /* "dependency_injector/providers.pyx":697
* result = self.__default(*args, **kwargs)
* else:
* self._raise_undefined_error() # <<<<<<<<<<<<<<
@@ -16055,7 +16116,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* if self.is_async_mode_disabled():
*/
/*else*/ {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_raise_undefined_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 689, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_raise_undefined_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 697, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16069,21 +16130,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 689, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 697, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
- /* "dependency_injector/providers.pyx":691
+ /* "dependency_injector/providers.pyx":699
* self._raise_undefined_error()
*
* if self.is_async_mode_disabled(): # <<<<<<<<<<<<<<
* self._check_instance_type(result)
* return result
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_disabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 691, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_disabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16097,23 +16158,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 691, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 691, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 699, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":692
+ /* "dependency_injector/providers.pyx":700
*
* if self.is_async_mode_disabled():
* self._check_instance_type(result) # <<<<<<<<<<<<<<
* return result
* elif self.is_async_mode_enabled():
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 692, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 700, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 692, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 700, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -16126,12 +16187,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 692, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 700, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":693
+ /* "dependency_injector/providers.pyx":701
* if self.is_async_mode_disabled():
* self._check_instance_type(result)
* return result # <<<<<<<<<<<<<<
@@ -16139,12 +16200,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* if __is_future_or_coroutine(result):
*/
__Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 693, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 701, __pyx_L1_error) }
__Pyx_INCREF(__pyx_v_result);
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":691
+ /* "dependency_injector/providers.pyx":699
* self._raise_undefined_error()
*
* if self.is_async_mode_disabled(): # <<<<<<<<<<<<<<
@@ -16153,14 +16214,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
*/
}
- /* "dependency_injector/providers.pyx":694
+ /* "dependency_injector/providers.pyx":702
* self._check_instance_type(result)
* return result
* elif self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(result):
* future_result = asyncio.Future()
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 694, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16174,34 +16235,34 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 694, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 694, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 702, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":695
+ /* "dependency_injector/providers.pyx":703
* return result
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result)
*/
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 695, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 703, __pyx_L1_error) }
__pyx_t_1 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":696
+ /* "dependency_injector/providers.pyx":704
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 696, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 696, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -16216,25 +16277,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 696, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_future_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":697
+ /* "dependency_injector/providers.pyx":705
* if __is_future_or_coroutine(result):
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result) # <<<<<<<<<<<<<<
* result.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 697, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 697, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 697, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 705, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -16247,27 +16308,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 697, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":698
+ /* "dependency_injector/providers.pyx":706
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result)) # <<<<<<<<<<<<<<
* return future_result
* else:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -16284,7 +16345,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, __pyx_v_future_result};
- __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -16293,14 +16354,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, __pyx_v_future_result};
- __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -16311,7 +16372,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_future_result);
__pyx_t_5 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 698, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -16329,12 +16390,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 698, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":699
+ /* "dependency_injector/providers.pyx":707
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result # <<<<<<<<<<<<<<
@@ -16346,7 +16407,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":695
+ /* "dependency_injector/providers.pyx":703
* return result
* elif self.is_async_mode_enabled():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -16355,7 +16416,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
*/
}
- /* "dependency_injector/providers.pyx":701
+ /* "dependency_injector/providers.pyx":709
* return future_result
* else:
* self._check_instance_type(result) # <<<<<<<<<<<<<<
@@ -16363,9 +16424,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* elif self.is_async_mode_undefined():
*/
/*else*/ {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 701, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 701, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 709, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -16378,12 +16439,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 701, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":702
+ /* "dependency_injector/providers.pyx":710
* else:
* self._check_instance_type(result)
* return __future_result(result) # <<<<<<<<<<<<<<
@@ -16391,15 +16452,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* if __is_future_or_coroutine(result):
*/
__Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 702, __pyx_L1_error) }
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 702, __pyx_L1_error)
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 710, __pyx_L1_error) }
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 710, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
}
- /* "dependency_injector/providers.pyx":694
+ /* "dependency_injector/providers.pyx":702
* self._check_instance_type(result)
* return result
* elif self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
@@ -16408,14 +16469,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
*/
}
- /* "dependency_injector/providers.pyx":703
+ /* "dependency_injector/providers.pyx":711
* self._check_instance_type(result)
* return __future_result(result)
* elif self.is_async_mode_undefined(): # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(result):
* self.enable_async_mode()
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_undefined); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 703, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_undefined); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16429,32 +16490,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 703, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 703, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 711, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":704
+ /* "dependency_injector/providers.pyx":712
* return __future_result(result)
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
* self.enable_async_mode()
*
*/
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 704, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 712, __pyx_L1_error) }
__pyx_t_1 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":705
+ /* "dependency_injector/providers.pyx":713
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result):
* self.enable_async_mode() # <<<<<<<<<<<<<<
*
* future_result = asyncio.Future()
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_enable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 705, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_enable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 713, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16468,21 +16529,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 705, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 713, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":707
+ /* "dependency_injector/providers.pyx":715
* self.enable_async_mode()
*
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 707, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 715, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 707, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 715, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -16497,25 +16558,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 707, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 715, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_future_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":708
+ /* "dependency_injector/providers.pyx":716
*
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result) # <<<<<<<<<<<<<<
* result.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 708, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 708, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 708, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 716, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -16528,27 +16589,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 708, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":709
+ /* "dependency_injector/providers.pyx":717
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result)) # <<<<<<<<<<<<<<
* return future_result
* else:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
__pyx_t_8 = 0;
@@ -16565,7 +16626,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -16574,14 +16635,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -16592,7 +16653,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 709, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -16610,12 +16671,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 709, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":710
+ /* "dependency_injector/providers.pyx":718
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result # <<<<<<<<<<<<<<
@@ -16627,7 +16688,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":704
+ /* "dependency_injector/providers.pyx":712
* return __future_result(result)
* elif self.is_async_mode_undefined():
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -16636,7 +16697,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
*/
}
- /* "dependency_injector/providers.pyx":712
+ /* "dependency_injector/providers.pyx":720
* return future_result
* else:
* self.disable_async_mode() # <<<<<<<<<<<<<<
@@ -16644,7 +16705,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* return result
*/
/*else*/ {
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 712, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disable_async_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -16658,21 +16719,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 712, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":713
+ /* "dependency_injector/providers.pyx":721
* else:
* self.disable_async_mode()
* self._check_instance_type(result) # <<<<<<<<<<<<<<
* return result
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 713, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 721, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 713, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 721, __pyx_L1_error) }
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
@@ -16685,12 +16746,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 713, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 721, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":714
+ /* "dependency_injector/providers.pyx":722
* self.disable_async_mode()
* self._check_instance_type(result)
* return result # <<<<<<<<<<<<<<
@@ -16698,13 +16759,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
* def __getattr__(self, name):
*/
__Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 714, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(1, 722, __pyx_L1_error) }
__Pyx_INCREF(__pyx_v_result);
__pyx_r = __pyx_v_result;
goto __pyx_L0;
}
- /* "dependency_injector/providers.pyx":703
+ /* "dependency_injector/providers.pyx":711
* self._check_instance_type(result)
* return __future_result(result)
* elif self.is_async_mode_undefined(): # <<<<<<<<<<<<<<
@@ -16713,7 +16774,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
*/
}
- /* "dependency_injector/providers.pyx":677
+ /* "dependency_injector/providers.pyx":685
* return copied
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -16742,7 +16803,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_4__call_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":716
+/* "dependency_injector/providers.pyx":724
* return result
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -16777,17 +16838,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":717
+ /* "dependency_injector/providers.pyx":725
*
* def __getattr__(self, name):
* if self.__last_overriding: # <<<<<<<<<<<<<<
* return getattr(self.__last_overriding, name)
* elif self.__default:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 717, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 725, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":718
+ /* "dependency_injector/providers.pyx":726
* def __getattr__(self, name):
* if self.__last_overriding:
* return getattr(self.__last_overriding, name) # <<<<<<<<<<<<<<
@@ -16797,14 +16858,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding);
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_GetAttr(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 718, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_GetAttr(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 726, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":717
+ /* "dependency_injector/providers.pyx":725
*
* def __getattr__(self, name):
* if self.__last_overriding: # <<<<<<<<<<<<<<
@@ -16813,17 +16874,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
*/
}
- /* "dependency_injector/providers.pyx":719
+ /* "dependency_injector/providers.pyx":727
* if self.__last_overriding:
* return getattr(self.__last_overriding, name)
* elif self.__default: # <<<<<<<<<<<<<<
* return getattr(self.__default, name)
* raise AttributeError(f'Provider "{self.__class__.__name__}" has no attribute "{name}"')
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 719, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 727, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":720
+ /* "dependency_injector/providers.pyx":728
* return getattr(self.__last_overriding, name)
* elif self.__default:
* return getattr(self.__default, name) # <<<<<<<<<<<<<<
@@ -16833,14 +16894,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __pyx_v_self->__pyx___default;
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_GetAttr(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 720, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":719
+ /* "dependency_injector/providers.pyx":727
* if self.__last_overriding:
* return getattr(self.__last_overriding, name)
* elif self.__default: # <<<<<<<<<<<<<<
@@ -16849,14 +16910,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
*/
}
- /* "dependency_injector/providers.pyx":721
+ /* "dependency_injector/providers.pyx":729
* elif self.__default:
* return getattr(self.__default, name)
* raise AttributeError(f'Provider "{self.__class__.__name__}" has no attribute "{name}"') # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
- __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = 0;
__pyx_t_5 = 127;
@@ -16864,12 +16925,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
__pyx_t_4 += 10;
__Pyx_GIVEREF(__pyx_kp_u_Provider);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Provider);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_5;
@@ -16881,7 +16942,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
__pyx_t_4 += 20;
__Pyx_GIVEREF(__pyx_kp_u_has_no_attribute);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_has_no_attribute);
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_5;
__pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
@@ -16892,17 +16953,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
__pyx_t_4 += 1;
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u__2);
- __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 5, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 5, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 721, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(1, 721, __pyx_L1_error)
+ __PYX_ERR(1, 729, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":716
+ /* "dependency_injector/providers.pyx":724
* return result
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -16923,7 +16984,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6__getat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":723
+/* "dependency_injector/providers.pyx":731
* raise AttributeError(f'Provider "{self.__class__.__name__}" has no attribute "{name}"')
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -16963,14 +17024,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":728
+ /* "dependency_injector/providers.pyx":736
* :rtype: str
* """
* name = f'<{self.__class__.__module__}.{self.__class__.__name__}' # <<<<<<<<<<<<<<
* name += f'({repr(self.__instance_of)}) at {hex(id(self))}'
* if self.parent_name:
*/
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
@@ -16978,12 +17039,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_t_2 += 1;
__Pyx_GIVEREF(__pyx_kp_u__5);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u__5);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_module); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_module); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -16995,12 +17056,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_t_2 += 1;
__Pyx_GIVEREF(__pyx_kp_u__6);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -17008,20 +17069,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_4);
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 728, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 736, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_name = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":729
+ /* "dependency_injector/providers.pyx":737
* """
* name = f'<{self.__class__.__module__}.{self.__class__.__name__}'
* name += f'({repr(self.__instance_of)}) at {hex(id(self))}' # <<<<<<<<<<<<<<
* if self.parent_name:
* name += f', container name: "{self.parent_name}"'
*/
- __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
@@ -17031,10 +17092,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__7);
__pyx_t_1 = __pyx_v_self->__pyx___instance_of;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = PyObject_Repr(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_5 = PyObject_Repr(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_3;
@@ -17046,12 +17107,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_t_2 += 5;
__Pyx_GIVEREF(__pyx_kp_u_at);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_at);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_3;
@@ -17059,36 +17120,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4));
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":730
+ /* "dependency_injector/providers.pyx":738
* name = f'<{self.__class__.__module__}.{self.__class__.__name__}'
* name += f'({repr(self.__instance_of)}) at {hex(id(self))}'
* if self.parent_name: # <<<<<<<<<<<<<<
* name += f', container name: "{self.parent_name}"'
* name += f'>'
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 730, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 730, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 738, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":731
+ /* "dependency_injector/providers.pyx":739
* name += f'({repr(self.__instance_of)}) at {hex(id(self))}'
* if self.parent_name:
* name += f', container name: "{self.parent_name}"' # <<<<<<<<<<<<<<
* name += f'>'
* return name
*/
- __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 731, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
@@ -17096,9 +17157,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_t_2 += 19;
__Pyx_GIVEREF(__pyx_kp_u_container_name);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_container_name);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 731, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 731, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
@@ -17110,16 +17171,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_t_2 += 1;
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__2);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 731, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 731, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4));
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":730
+ /* "dependency_injector/providers.pyx":738
* name = f'<{self.__class__.__module__}.{self.__class__.__name__}'
* name += f'({repr(self.__instance_of)}) at {hex(id(self))}'
* if self.parent_name: # <<<<<<<<<<<<<<
@@ -17128,19 +17189,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
*/
}
- /* "dependency_injector/providers.pyx":732
+ /* "dependency_injector/providers.pyx":740
* if self.parent_name:
* name += f', container name: "{self.parent_name}"'
* name += f'>' # <<<<<<<<<<<<<<
* return name
*
*/
- __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_kp_u__8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 732, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_v_name, __pyx_kp_u__8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4));
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":733
+ /* "dependency_injector/providers.pyx":741
* name += f', container name: "{self.parent_name}"'
* name += f'>'
* return name # <<<<<<<<<<<<<<
@@ -17152,7 +17213,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
__pyx_r = __pyx_v_name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":723
+ /* "dependency_injector/providers.pyx":731
* raise AttributeError(f'Provider "{self.__class__.__name__}" has no attribute "{name}"')
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -17174,7 +17235,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_8__str__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":735
+/* "dependency_injector/providers.pyx":743
* return name
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -17210,7 +17271,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10__repr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":740
+ /* "dependency_injector/providers.pyx":748
* :rtype: str
* """
* return self.__str__() # <<<<<<<<<<<<<<
@@ -17218,7 +17279,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10__repr
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 740, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -17232,14 +17293,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10__repr
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 740, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":735
+ /* "dependency_injector/providers.pyx":743
* return name
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -17260,7 +17321,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10__repr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":743
+/* "dependency_injector/providers.pyx":751
*
* @property
* def instance_of(self): # <<<<<<<<<<<<<<
@@ -17286,7 +17347,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11instan
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":745
+ /* "dependency_injector/providers.pyx":753
* def instance_of(self):
* """Return type."""
* return self.__instance_of # <<<<<<<<<<<<<<
@@ -17298,7 +17359,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11instan
__pyx_r = __pyx_v_self->__pyx___instance_of;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":743
+ /* "dependency_injector/providers.pyx":751
*
* @property
* def instance_of(self): # <<<<<<<<<<<<<<
@@ -17313,7 +17374,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11instan
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":747
+/* "dependency_injector/providers.pyx":755
* return self.__instance_of
*
* def set_instance_of(self, instance_of): # <<<<<<<<<<<<<<
@@ -17350,7 +17411,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_instance_of", 0);
- /* "dependency_injector/providers.pyx":749
+ /* "dependency_injector/providers.pyx":757
* def set_instance_of(self, instance_of):
* """Set type."""
* if not isinstance(instance_of, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -17359,22 +17420,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
*/
__pyx_t_1 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_instance_of, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 749, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_instance_of, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 757, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":751
+ /* "dependency_injector/providers.pyx":759
* if not isinstance(instance_of, CLASS_TYPES):
* raise TypeError(
* '"instance_of" has incorrect type (expected {0}, got {1}))'.format( # <<<<<<<<<<<<<<
* CLASS_TYPES,
* instance_of,
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_instance_of_has_incorrect_type, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 751, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_instance_of_has_incorrect_type, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 759, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":753
+ /* "dependency_injector/providers.pyx":761
* '"instance_of" has incorrect type (expected {0}, got {1}))'.format(
* CLASS_TYPES,
* instance_of, # <<<<<<<<<<<<<<
@@ -17396,7 +17457,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_19dependency_injector_9providers_CLASS_TYPES, __pyx_v_instance_of};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 751, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 759, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -17404,13 +17465,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_19dependency_injector_9providers_CLASS_TYPES, __pyx_v_instance_of};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 751, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 759, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 751, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 759, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -17421,27 +17482,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
__Pyx_INCREF(__pyx_v_instance_of);
__Pyx_GIVEREF(__pyx_v_instance_of);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_instance_of);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 751, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 759, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":750
+ /* "dependency_injector/providers.pyx":758
* """Set type."""
* if not isinstance(instance_of, CLASS_TYPES):
* raise TypeError( # <<<<<<<<<<<<<<
* '"instance_of" has incorrect type (expected {0}, got {1}))'.format(
* CLASS_TYPES,
*/
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 750, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 750, __pyx_L1_error)
+ __PYX_ERR(1, 758, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":749
+ /* "dependency_injector/providers.pyx":757
* def set_instance_of(self, instance_of):
* """Set type."""
* if not isinstance(instance_of, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -17450,7 +17511,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
*/
}
- /* "dependency_injector/providers.pyx":756
+ /* "dependency_injector/providers.pyx":764
* ),
* )
* self.__instance_of = instance_of # <<<<<<<<<<<<<<
@@ -17463,7 +17524,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
__Pyx_DECREF(__pyx_v_self->__pyx___instance_of);
__pyx_v_self->__pyx___instance_of = __pyx_v_instance_of;
- /* "dependency_injector/providers.pyx":757
+ /* "dependency_injector/providers.pyx":765
* )
* self.__instance_of = instance_of
* return self # <<<<<<<<<<<<<<
@@ -17475,7 +17536,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":747
+ /* "dependency_injector/providers.pyx":755
* return self.__instance_of
*
* def set_instance_of(self, instance_of): # <<<<<<<<<<<<<<
@@ -17497,7 +17558,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_12set_in
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":760
+/* "dependency_injector/providers.pyx":768
*
* @property
* def default(self): # <<<<<<<<<<<<<<
@@ -17523,7 +17584,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_7default
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":762
+ /* "dependency_injector/providers.pyx":770
* def default(self):
* """Return default provider."""
* return self.__default # <<<<<<<<<<<<<<
@@ -17535,7 +17596,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_7default
__pyx_r = __pyx_v_self->__pyx___default;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":760
+ /* "dependency_injector/providers.pyx":768
*
* @property
* def default(self): # <<<<<<<<<<<<<<
@@ -17550,7 +17611,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_7default
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":764
+/* "dependency_injector/providers.pyx":772
* return self.__default
*
* def set_default(self, default): # <<<<<<<<<<<<<<
@@ -17585,14 +17646,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
__Pyx_RefNannySetupContext("set_default", 0);
__Pyx_INCREF(__pyx_v_default);
- /* "dependency_injector/providers.pyx":766
+ /* "dependency_injector/providers.pyx":774
* def set_default(self, default):
* """Set type."""
* if default and not isinstance(default, Provider): # <<<<<<<<<<<<<<
* default = Object(default)
* self.__default = default
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_default); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 766, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_default); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 774, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
@@ -17604,19 +17665,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":767
+ /* "dependency_injector/providers.pyx":775
* """Set type."""
* if default and not isinstance(default, Provider):
* default = Object(default) # <<<<<<<<<<<<<<
* self.__default = default
* return self
*/
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object), __pyx_v_default); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 767, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Object), __pyx_v_default); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_default, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":766
+ /* "dependency_injector/providers.pyx":774
* def set_default(self, default):
* """Set type."""
* if default and not isinstance(default, Provider): # <<<<<<<<<<<<<<
@@ -17625,7 +17686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
*/
}
- /* "dependency_injector/providers.pyx":768
+ /* "dependency_injector/providers.pyx":776
* if default and not isinstance(default, Provider):
* default = Object(default)
* self.__default = default # <<<<<<<<<<<<<<
@@ -17638,7 +17699,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
__Pyx_DECREF(__pyx_v_self->__pyx___default);
__pyx_v_self->__pyx___default = __pyx_v_default;
- /* "dependency_injector/providers.pyx":769
+ /* "dependency_injector/providers.pyx":777
* default = Object(default)
* self.__default = default
* return self # <<<<<<<<<<<<<<
@@ -17650,7 +17711,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":764
+ /* "dependency_injector/providers.pyx":772
* return self.__default
*
* def set_default(self, default): # <<<<<<<<<<<<<<
@@ -17670,12 +17731,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_14set_de
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":772
+/* "dependency_injector/providers.pyx":780
*
* @property
* def is_defined(self): # <<<<<<<<<<<<<<
* """Return True if dependency is defined."""
- * return self.__last_overriding or self.__default
+ * return self.__last_overriding is not None or self.__default is not None
*/
/* Python wrapper */
@@ -17696,44 +17757,51 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10is_def
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_t_2;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":774
+ /* "dependency_injector/providers.pyx":782
* def is_defined(self):
* """Return True if dependency is defined."""
- * return self.__last_overriding or self.__default # <<<<<<<<<<<<<<
+ * return self.__last_overriding is not None or self.__default is not None # <<<<<<<<<<<<<<
*
* def provided_by(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 774, __pyx_L1_error)
+ __pyx_t_2 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding) != Py_None);
if (!__pyx_t_2) {
} else {
- __Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding));
- __pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___last_overriding);
+ __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 782, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L3_bool_binop_done;
}
- __Pyx_INCREF(__pyx_v_self->__pyx___default);
- __pyx_t_1 = __pyx_v_self->__pyx___default;
+ __pyx_t_2 = (__pyx_v_self->__pyx___default != Py_None);
+ __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 782, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __pyx_t_3;
+ __pyx_t_3 = 0;
__pyx_L3_bool_binop_done:;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":772
+ /* "dependency_injector/providers.pyx":780
*
* @property
* def is_defined(self): # <<<<<<<<<<<<<<
* """Return True if dependency is defined."""
- * return self.__last_overriding or self.__default
+ * return self.__last_overriding is not None or self.__default is not None
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.Dependency.is_defined.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -17742,8 +17810,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_10is_def
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":776
- * return self.__last_overriding or self.__default
+/* "dependency_injector/providers.pyx":784
+ * return self.__last_overriding is not None or self.__default is not None
*
* def provided_by(self, provider): # <<<<<<<<<<<<<<
* """Set external dependency provider.
@@ -17775,7 +17843,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_16provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("provided_by", 0);
- /* "dependency_injector/providers.pyx":784
+ /* "dependency_injector/providers.pyx":792
* :rtype: None
* """
* return self.override(provider) # <<<<<<<<<<<<<<
@@ -17783,7 +17851,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_16provid
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 784, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -17797,15 +17865,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_16provid
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 784, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":776
- * return self.__last_overriding or self.__default
+ /* "dependency_injector/providers.pyx":784
+ * return self.__last_overriding is not None or self.__default is not None
*
* def provided_by(self, provider): # <<<<<<<<<<<<<<
* """Set external dependency provider.
@@ -17826,7 +17894,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_16provid
}
static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":787
+/* "dependency_injector/providers.pyx":795
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -17859,7 +17927,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_7related
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_3___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 787, __pyx_L1_error)
+ __PYX_ERR(1, 795, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -17867,7 +17935,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_7related
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_10Dependency_7related_2generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Dependency___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 787, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_10Dependency_7related_2generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Dependency___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 795, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -17904,19 +17972,19 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 787, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 795, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":789
+ /* "dependency_injector/providers.pyx":797
* def related(self):
* """Return related providers generator."""
* if self.__default: # <<<<<<<<<<<<<<
* yield self.__default
* yield from super().related
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 789, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_self->__pyx___default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 797, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":790
+ /* "dependency_injector/providers.pyx":798
* """Return related providers generator."""
* if self.__default:
* yield self.__default # <<<<<<<<<<<<<<
@@ -17932,9 +18000,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 790, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 798, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":789
+ /* "dependency_injector/providers.pyx":797
* def related(self):
* """Return related providers generator."""
* if self.__default: # <<<<<<<<<<<<<<
@@ -17943,14 +18011,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
*/
}
- /* "dependency_injector/providers.pyx":791
+ /* "dependency_injector/providers.pyx":799
* if self.__default:
* yield self.__default
* yield from super().related # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 791, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
@@ -17958,10 +18026,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 791, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 791, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -17975,17 +18043,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 791, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 799, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 791, __pyx_L1_error)
+ else __PYX_ERR(1, 799, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":787
+ /* "dependency_injector/providers.pyx":795
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -18011,7 +18079,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10Dependency_7related
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":794
+/* "dependency_injector/providers.pyx":802
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -18037,7 +18105,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6parent_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":796
+ /* "dependency_injector/providers.pyx":804
* def parent(self):
* """Return parent."""
* return self.__parent # <<<<<<<<<<<<<<
@@ -18049,7 +18117,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6parent_
__pyx_r = __pyx_v_self->__pyx___parent;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":794
+ /* "dependency_injector/providers.pyx":802
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -18064,7 +18132,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_6parent_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":799
+/* "dependency_injector/providers.pyx":807
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -18099,18 +18167,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":801
+ /* "dependency_injector/providers.pyx":809
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
* return None
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 801, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 809, __pyx_L1_error)
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":802
+ /* "dependency_injector/providers.pyx":810
* """Return parent name."""
* if not self.__parent:
* return None # <<<<<<<<<<<<<<
@@ -18121,7 +18189,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":801
+ /* "dependency_injector/providers.pyx":809
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
@@ -18130,7 +18198,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
*/
}
- /* "dependency_injector/providers.pyx":804
+ /* "dependency_injector/providers.pyx":812
* return None
*
* name = '' # <<<<<<<<<<<<<<
@@ -18140,41 +18208,41 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
__Pyx_INCREF(__pyx_kp_s__9);
__pyx_v_name = __pyx_kp_s__9;
- /* "dependency_injector/providers.pyx":805
+ /* "dependency_injector/providers.pyx":813
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}'
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 805, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 805, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 813, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":806
+ /* "dependency_injector/providers.pyx":814
* name = ''
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.' # <<<<<<<<<<<<<<
* name += f'{self.__parent.resolve_provider_name(self)}'
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 806, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 814, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 806, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 814, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 806, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 814, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 806, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 814, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":805
+ /* "dependency_injector/providers.pyx":813
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
@@ -18183,14 +18251,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
*/
}
- /* "dependency_injector/providers.pyx":807
+ /* "dependency_injector/providers.pyx":815
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}' # <<<<<<<<<<<<<<
*
* return name
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 807, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -18204,19 +18272,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 807, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 807, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 807, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":809
+ /* "dependency_injector/providers.pyx":817
* name += f'{self.__parent.resolve_provider_name(self)}'
*
* return name # <<<<<<<<<<<<<<
@@ -18228,7 +18296,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
__pyx_r = __pyx_v_name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":799
+ /* "dependency_injector/providers.pyx":807
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -18250,7 +18318,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_11parent
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":811
+/* "dependency_injector/providers.pyx":819
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -18277,7 +18345,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_18assign
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("assign_parent", 0);
- /* "dependency_injector/providers.pyx":813
+ /* "dependency_injector/providers.pyx":821
* def assign_parent(self, parent):
* """Assign parent."""
* self.__parent = parent # <<<<<<<<<<<<<<
@@ -18290,7 +18358,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_18assign
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = __pyx_v_parent;
- /* "dependency_injector/providers.pyx":811
+ /* "dependency_injector/providers.pyx":819
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -18305,7 +18373,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_18assign
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":815
+/* "dependency_injector/providers.pyx":823
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -18347,11 +18415,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10Dependency_21_copy_
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 815, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 823, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 815, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 823, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -18364,7 +18432,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10Dependency_21_copy_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 815, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 823, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Dependency._copy_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -18386,19 +18454,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_20_copy_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_parent", 0);
- /* "dependency_injector/providers.pyx":816
+ /* "dependency_injector/providers.pyx":824
*
* def _copy_parent(self, copied, memo):
* _copy_parent(self, copied, memo) # <<<<<<<<<<<<<<
*
* def _async_provide(self, future_result, future):
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 816, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 816, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 824, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":815
+ /* "dependency_injector/providers.pyx":823
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -18419,7 +18487,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_20_copy_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":818
+/* "dependency_injector/providers.pyx":826
* _copy_parent(self, copied, memo)
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -18461,11 +18529,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10Dependency_23_async
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 818, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 826, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 818, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 826, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -18478,7 +18546,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10Dependency_23_async
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 818, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 826, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Dependency._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -18511,7 +18579,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_provide", 0);
- /* "dependency_injector/providers.pyx":819
+ /* "dependency_injector/providers.pyx":827
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -18527,14 +18595,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":820
+ /* "dependency_injector/providers.pyx":828
* def _async_provide(self, future_result, future):
* try:
* instance = future.result() # <<<<<<<<<<<<<<
* self._check_instance_type(instance)
* except Exception as exception:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 820, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 828, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -18548,20 +18616,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 820, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 828, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_instance = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":821
+ /* "dependency_injector/providers.pyx":829
* try:
* instance = future.result()
* self._check_instance_type(instance) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 821, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_instance_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 829, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -18575,12 +18643,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 821, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 829, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":819
+ /* "dependency_injector/providers.pyx":827
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -18589,7 +18657,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
*/
}
- /* "dependency_injector/providers.pyx":825
+ /* "dependency_injector/providers.pyx":833
* future_result.set_exception(exception)
* else:
* future_result.set_result(instance) # <<<<<<<<<<<<<<
@@ -18597,7 +18665,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
* def _check_instance_type(self, instance):
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 825, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 833, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -18611,7 +18679,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 825, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 833, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -18625,7 +18693,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":822
+ /* "dependency_injector/providers.pyx":830
* instance = future.result()
* self._check_instance_type(instance)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -18635,21 +18703,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.Dependency._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 822, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 830, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pyx":823
+ /* "dependency_injector/providers.pyx":831
* self._check_instance_type(instance)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(instance)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 823, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 831, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -18663,7 +18731,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 823, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 831, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -18675,7 +18743,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":819
+ /* "dependency_injector/providers.pyx":827
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -18695,7 +18763,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":818
+ /* "dependency_injector/providers.pyx":826
* _copy_parent(self, copied, memo)
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -18723,7 +18791,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_22_async
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":827
+/* "dependency_injector/providers.pyx":835
* future_result.set_result(instance)
*
* def _check_instance_type(self, instance): # <<<<<<<<<<<<<<
@@ -18762,32 +18830,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_check_instance_type", 0);
- /* "dependency_injector/providers.pyx":828
+ /* "dependency_injector/providers.pyx":836
*
* def _check_instance_type(self, instance):
* if not isinstance(instance, self.instance_of): # <<<<<<<<<<<<<<
* raise Error('{0} is not an instance of {1}'.format(instance, self.instance_of))
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 828, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 836, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 828, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 836, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":829
+ /* "dependency_injector/providers.pyx":837
* def _check_instance_type(self, instance):
* if not isinstance(instance, self.instance_of):
* raise Error('{0} is not an instance of {1}'.format(instance, self.instance_of)) # <<<<<<<<<<<<<<
*
* def _raise_undefined_error(self):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_is_not_an_instance_of_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_is_not_an_instance_of_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_instance_of); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -18804,7 +18872,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_instance, __pyx_t_7};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -18813,14 +18881,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_instance, __pyx_t_7};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -18831,7 +18899,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_7);
__pyx_t_7 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 829, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -18849,14 +18917,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 829, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 837, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 829, __pyx_L1_error)
+ __PYX_ERR(1, 837, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":828
+ /* "dependency_injector/providers.pyx":836
*
* def _check_instance_type(self, instance):
* if not isinstance(instance, self.instance_of): # <<<<<<<<<<<<<<
@@ -18865,7 +18933,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
*/
}
- /* "dependency_injector/providers.pyx":827
+ /* "dependency_injector/providers.pyx":835
* future_result.set_result(instance)
*
* def _check_instance_type(self, instance): # <<<<<<<<<<<<<<
@@ -18892,7 +18960,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_24_check
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":831
+/* "dependency_injector/providers.pyx":839
* raise Error('{0} is not an instance of {1}'.format(instance, self.instance_of))
*
* def _raise_undefined_error(self): # <<<<<<<<<<<<<<
@@ -18929,29 +18997,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_raise_undefined_error", 0);
- /* "dependency_injector/providers.pyx":832
+ /* "dependency_injector/providers.pyx":840
*
* def _raise_undefined_error(self):
* if self.parent_name: # <<<<<<<<<<<<<<
* raise Error(f'Dependency "{self.parent_name}" is not defined')
* raise Error('Dependency is not defined')
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 832, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 840, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 832, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 840, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":833
+ /* "dependency_injector/providers.pyx":841
* def _raise_undefined_error(self):
* if self.parent_name:
* raise Error(f'Dependency "{self.parent_name}" is not defined') # <<<<<<<<<<<<<<
* raise Error('Dependency is not defined')
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 833, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 833, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = 0;
__pyx_t_6 = 127;
@@ -18959,9 +19027,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
__pyx_t_5 += 12;
__Pyx_GIVEREF(__pyx_kp_u_Dependency);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Dependency);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 833, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parent_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 833, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_6;
@@ -18973,7 +19041,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
__pyx_t_5 += 16;
__Pyx_GIVEREF(__pyx_kp_u_is_not_defined);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_is_not_defined);
- __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 833, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -18989,14 +19057,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 833, __pyx_L1_error)
+ __PYX_ERR(1, 841, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":832
+ /* "dependency_injector/providers.pyx":840
*
* def _raise_undefined_error(self):
* if self.parent_name: # <<<<<<<<<<<<<<
@@ -19005,14 +19073,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
*/
}
- /* "dependency_injector/providers.pyx":834
+ /* "dependency_injector/providers.pyx":842
* if self.parent_name:
* raise Error(f'Dependency "{self.parent_name}" is not defined')
* raise Error('Dependency is not defined') # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 834, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -19026,14 +19094,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10Dependency_26_raise
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_kp_s_Dependency_is_not_defined) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_Dependency_is_not_defined);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 834, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 834, __pyx_L1_error)
+ __PYX_ERR(1, 842, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":831
+ /* "dependency_injector/providers.pyx":839
* raise Error('{0} is not an instance of {1}'.format(instance, self.instance_of))
*
* def _raise_undefined_error(self): # <<<<<<<<<<<<<<
@@ -19759,7 +19827,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18ExternalDependency_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":899
+/* "dependency_injector/providers.pyx":907
* """
*
* def __init__(self, **dependencies): # <<<<<<<<<<<<<<
@@ -19808,22 +19876,22 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":901
+ /* "dependency_injector/providers.pyx":909
* def __init__(self, **dependencies):
* """Initializer."""
* for provider in dependencies.values(): # <<<<<<<<<<<<<<
* if isinstance(provider, CHILD_PROVIDERS):
* provider.assign_parent(self)
*/
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 909, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -19831,17 +19899,17 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 909, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 909, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 901, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -19851,7 +19919,7 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 901, __pyx_L1_error)
+ else __PYX_ERR(1, 909, __pyx_L1_error)
}
break;
}
@@ -19860,28 +19928,28 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":902
+ /* "dependency_injector/providers.pyx":910
* """Initializer."""
* for provider in dependencies.values():
* if isinstance(provider, CHILD_PROVIDERS): # <<<<<<<<<<<<<<
* provider.assign_parent(self)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 902, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CHILD_PROVIDERS); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 910, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 902, __pyx_L1_error)
+ __pyx_t_5 = PyObject_IsInstance(__pyx_v_provider, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 910, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":903
+ /* "dependency_injector/providers.pyx":911
* for provider in dependencies.values():
* if isinstance(provider, CHILD_PROVIDERS):
* provider.assign_parent(self) # <<<<<<<<<<<<<<
*
* self.__providers = dependencies
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 903, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -19895,12 +19963,12 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_7, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 903, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":902
+ /* "dependency_injector/providers.pyx":910
* """Initializer."""
* for provider in dependencies.values():
* if isinstance(provider, CHILD_PROVIDERS): # <<<<<<<<<<<<<<
@@ -19909,7 +19977,7 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
*/
}
- /* "dependency_injector/providers.pyx":901
+ /* "dependency_injector/providers.pyx":909
* def __init__(self, **dependencies):
* """Initializer."""
* for provider in dependencies.values(): # <<<<<<<<<<<<<<
@@ -19919,7 +19987,7 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":905
+ /* "dependency_injector/providers.pyx":913
* provider.assign_parent(self)
*
* self.__providers = dependencies # <<<<<<<<<<<<<<
@@ -19932,7 +20000,7 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
__Pyx_DECREF(__pyx_v_self->__pyx___providers);
__pyx_v_self->__pyx___providers = __pyx_v_dependencies;
- /* "dependency_injector/providers.pyx":906
+ /* "dependency_injector/providers.pyx":914
*
* self.__providers = dependencies
* self.__parent = None # <<<<<<<<<<<<<<
@@ -19945,14 +20013,14 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = Py_None;
- /* "dependency_injector/providers.pyx":908
+ /* "dependency_injector/providers.pyx":916
* self.__parent = None
*
* super(DependenciesContainer, self).__init__(None) # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 908, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
@@ -19960,10 +20028,10 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 908, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 908, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
@@ -19978,12 +20046,12 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
}
__pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_1, Py_None);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 908, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":899
+ /* "dependency_injector/providers.pyx":907
* """
*
* def __init__(self, **dependencies): # <<<<<<<<<<<<<<
@@ -20007,7 +20075,7 @@ static int __pyx_pf_19dependency_injector_9providers_21DependenciesContainer___i
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":910
+/* "dependency_injector/providers.pyx":918
* super(DependenciesContainer, self).__init__(None)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -20046,16 +20114,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":914
+ /* "dependency_injector/providers.pyx":922
* cdef DependenciesContainer copied
*
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 914, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 914, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -20070,14 +20138,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 914, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_DependenciesContainer))))) __PYX_ERR(1, 914, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_DependenciesContainer))))) __PYX_ERR(1, 922, __pyx_L1_error)
__pyx_v_copied = ((struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":915
+ /* "dependency_injector/providers.pyx":923
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -20088,7 +20156,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":916
+ /* "dependency_injector/providers.pyx":924
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -20100,7 +20168,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":915
+ /* "dependency_injector/providers.pyx":923
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -20109,15 +20177,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":918
+ /* "dependency_injector/providers.pyx":926
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.__provides = deepcopy(self.__provides, memo)
* copied.__providers = deepcopy(self.__providers, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 918, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 918, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 926, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 926, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
@@ -20125,7 +20193,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_DECREF_SET(__pyx_v_copied, ((struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer *)__pyx_t_2));
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":919
+ /* "dependency_injector/providers.pyx":927
*
* copied = _memorized_duplicate(self, memo)
* copied.__provides = deepcopy(self.__provides, memo) # <<<<<<<<<<<<<<
@@ -20134,10 +20202,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
__pyx_t_2 = __pyx_v_self->__pyx_base.__pyx___provides;
__Pyx_INCREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 919, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 927, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 919, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
@@ -20146,7 +20214,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_v_copied->__pyx_base.__pyx___provides = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":920
+ /* "dependency_injector/providers.pyx":928
* copied = _memorized_duplicate(self, memo)
* copied.__provides = deepcopy(self.__provides, memo)
* copied.__providers = deepcopy(self.__providers, memo) # <<<<<<<<<<<<<<
@@ -20155,27 +20223,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
__pyx_t_1 = __pyx_v_self->__pyx___providers;
__Pyx_INCREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 920, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 928, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 920, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 928, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 920, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 928, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_copied->__pyx___providers);
__Pyx_DECREF(__pyx_v_copied->__pyx___providers);
__pyx_v_copied->__pyx___providers = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":921
+ /* "dependency_injector/providers.pyx":929
* copied.__provides = deepcopy(self.__provides, memo)
* copied.__providers = deepcopy(self.__providers, memo)
* self._copy_parent(copied, memo) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 921, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 929, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
__pyx_t_8 = 0;
@@ -20192,7 +20260,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 921, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 929, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -20200,13 +20268,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 921, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 929, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 921, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 929, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -20217,24 +20285,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_memo);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 921, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 929, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":922
+ /* "dependency_injector/providers.pyx":930
* copied.__providers = deepcopy(self.__providers, memo)
* self._copy_parent(copied, memo)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 922, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 930, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":924
+ /* "dependency_injector/providers.pyx":932
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -20246,7 +20314,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":910
+ /* "dependency_injector/providers.pyx":918
* super(DependenciesContainer, self).__init__(None)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -20269,7 +20337,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":926
+/* "dependency_injector/providers.pyx":934
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -20311,14 +20379,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":928
+ /* "dependency_injector/providers.pyx":936
* def __getattr__(self, name):
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
* raise AttributeError(
* '\'{cls}\' object has no attribute '
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 928, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -20332,17 +20400,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 928, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 928, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 928, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -20356,70 +20424,70 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 928, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 928, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 936, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":931
+ /* "dependency_injector/providers.pyx":939
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 931, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 931, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 931, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 931, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 931, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":932
+ /* "dependency_injector/providers.pyx":940
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name)) # <<<<<<<<<<<<<<
*
* provider = self.__providers.get(name)
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 931, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 939, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":931
+ /* "dependency_injector/providers.pyx":939
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
*
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 931, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":929
+ /* "dependency_injector/providers.pyx":937
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'):
* raise AttributeError( # <<<<<<<<<<<<<<
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 929, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 929, __pyx_L1_error)
+ __PYX_ERR(1, 937, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":928
+ /* "dependency_injector/providers.pyx":936
* def __getattr__(self, name):
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
@@ -20428,7 +20496,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":934
+ /* "dependency_injector/providers.pyx":942
* attribute_name=name))
*
* provider = self.__providers.get(name) # <<<<<<<<<<<<<<
@@ -20437,44 +20505,44 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 934, __pyx_L1_error)
+ __PYX_ERR(1, 942, __pyx_L1_error)
}
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___providers, __pyx_v_name, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 934, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___providers, __pyx_v_name, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_provider = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":935
+ /* "dependency_injector/providers.pyx":943
*
* provider = self.__providers.get(name)
* if not provider: # <<<<<<<<<<<<<<
* provider = Dependency()
* provider.assign_parent(self)
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_provider); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 935, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_provider); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 943, __pyx_L1_error)
__pyx_t_5 = ((!__pyx_t_1) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":936
+ /* "dependency_injector/providers.pyx":944
* provider = self.__providers.get(name)
* if not provider:
* provider = Dependency() # <<<<<<<<<<<<<<
* provider.assign_parent(self)
*
*/
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 936, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":937
+ /* "dependency_injector/providers.pyx":945
* if not provider:
* provider = Dependency()
* provider.assign_parent(self) # <<<<<<<<<<<<<<
*
* self.__providers[name] = provider
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 937, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 945, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -20488,12 +20556,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 937, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 945, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":939
+ /* "dependency_injector/providers.pyx":947
* provider.assign_parent(self)
*
* self.__providers[name] = provider # <<<<<<<<<<<<<<
@@ -20502,18 +20570,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 939, __pyx_L1_error)
+ __PYX_ERR(1, 947, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___providers, __pyx_v_name, __pyx_v_provider) < 0)) __PYX_ERR(1, 939, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___providers, __pyx_v_name, __pyx_v_provider) < 0)) __PYX_ERR(1, 947, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":941
+ /* "dependency_injector/providers.pyx":949
* self.__providers[name] = provider
*
* container = self.__call__() # <<<<<<<<<<<<<<
* if container:
* dependency_provider = container.providers.get(name)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 941, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -20527,32 +20595,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 941, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_container = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":942
+ /* "dependency_injector/providers.pyx":950
*
* container = self.__call__()
* if container: # <<<<<<<<<<<<<<
* dependency_provider = container.providers.get(name)
* if dependency_provider:
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_container); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 942, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_container); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 950, __pyx_L1_error)
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":943
+ /* "dependency_injector/providers.pyx":951
* container = self.__call__()
* if container:
* dependency_provider = container.providers.get(name) # <<<<<<<<<<<<<<
* if dependency_provider:
* provider.override(dependency_provider)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 943, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 951, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 943, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 951, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -20567,30 +20635,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 943, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 951, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_dependency_provider = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":944
+ /* "dependency_injector/providers.pyx":952
* if container:
* dependency_provider = container.providers.get(name)
* if dependency_provider: # <<<<<<<<<<<<<<
* provider.override(dependency_provider)
*
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_dependency_provider); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 944, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_dependency_provider); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 952, __pyx_L1_error)
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":945
+ /* "dependency_injector/providers.pyx":953
* dependency_provider = container.providers.get(name)
* if dependency_provider:
* provider.override(dependency_provider) # <<<<<<<<<<<<<<
*
* return provider
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 945, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -20604,12 +20672,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_v_dependency_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_dependency_provider);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 945, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":944
+ /* "dependency_injector/providers.pyx":952
* if container:
* dependency_provider = container.providers.get(name)
* if dependency_provider: # <<<<<<<<<<<<<<
@@ -20618,7 +20686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":942
+ /* "dependency_injector/providers.pyx":950
*
* container = self.__call__()
* if container: # <<<<<<<<<<<<<<
@@ -20627,7 +20695,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":935
+ /* "dependency_injector/providers.pyx":943
*
* provider = self.__providers.get(name)
* if not provider: # <<<<<<<<<<<<<<
@@ -20636,7 +20704,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":947
+ /* "dependency_injector/providers.pyx":955
* provider.override(dependency_provider)
*
* return provider # <<<<<<<<<<<<<<
@@ -20648,7 +20716,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = __pyx_v_provider;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":926
+ /* "dependency_injector/providers.pyx":934
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -20673,7 +20741,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":950
+/* "dependency_injector/providers.pyx":958
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -20699,7 +20767,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":952
+ /* "dependency_injector/providers.pyx":960
* def providers(self):
* """Read-only dictionary of dependency providers."""
* return self.__providers # <<<<<<<<<<<<<<
@@ -20711,7 +20779,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = __pyx_v_self->__pyx___providers;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":950
+ /* "dependency_injector/providers.pyx":958
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -20726,7 +20794,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":954
+/* "dependency_injector/providers.pyx":962
* return self.__providers
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -20759,18 +20827,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":965
+ /* "dependency_injector/providers.pyx":973
* :rtype: :py:class:`OverridingContext`
* """
* self._override_providers(container=provider) # <<<<<<<<<<<<<<
* return super(DependenciesContainer, self).override(provider)
*
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->_override_providers(__pyx_v_self, __pyx_v_provider, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 965, __pyx_L1_error)
+ __pyx_t_1 = ((struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->_override_providers(__pyx_v_self, __pyx_v_provider, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":966
+ /* "dependency_injector/providers.pyx":974
* """
* self._override_providers(container=provider)
* return super(DependenciesContainer, self).override(provider) # <<<<<<<<<<<<<<
@@ -20778,7 +20846,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
* def reset_last_overriding(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 966, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
@@ -20786,10 +20854,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 966, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 966, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -20804,14 +20872,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 966, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":954
+ /* "dependency_injector/providers.pyx":962
* return self.__providers
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -20832,7 +20900,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":968
+/* "dependency_injector/providers.pyx":976
* return super(DependenciesContainer, self).override(provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -20874,7 +20942,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/providers.pyx":976
+ /* "dependency_injector/providers.pyx":984
* :rtype: None
* """
* for child in self.__providers.values(): # <<<<<<<<<<<<<<
@@ -20883,17 +20951,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 976, __pyx_L1_error)
+ __PYX_ERR(1, 984, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 984, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -20901,17 +20969,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 984, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 984, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 976, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -20921,7 +20989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 976, __pyx_L1_error)
+ else __PYX_ERR(1, 984, __pyx_L1_error)
}
break;
}
@@ -20930,7 +20998,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":977
+ /* "dependency_injector/providers.pyx":985
* """
* for child in self.__providers.values():
* try: # <<<<<<<<<<<<<<
@@ -20946,14 +21014,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_XGOTREF(__pyx_t_7);
/*try:*/ {
- /* "dependency_injector/providers.pyx":978
+ /* "dependency_injector/providers.pyx":986
* for child in self.__providers.values():
* try:
* child.reset_last_overriding() # <<<<<<<<<<<<<<
* except Error:
* pass
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 978, __pyx_L5_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 986, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
@@ -20967,12 +21035,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 978, __pyx_L5_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 986, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":977
+ /* "dependency_injector/providers.pyx":985
* """
* for child in self.__providers.values():
* try: # <<<<<<<<<<<<<<
@@ -20989,7 +21057,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pyx":979
+ /* "dependency_injector/providers.pyx":987
* try:
* child.reset_last_overriding()
* except Error: # <<<<<<<<<<<<<<
@@ -20997,7 +21065,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
* super(DependenciesContainer, self).reset_last_overriding()
*/
__Pyx_ErrFetch(&__pyx_t_1, &__pyx_t_8, &__pyx_t_9);
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Error); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 979, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Error); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 987, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_1, __pyx_t_10);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -21010,7 +21078,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
- /* "dependency_injector/providers.pyx":977
+ /* "dependency_injector/providers.pyx":985
* """
* for child in self.__providers.values():
* try: # <<<<<<<<<<<<<<
@@ -21030,7 +21098,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_L12_try_end:;
}
- /* "dependency_injector/providers.pyx":976
+ /* "dependency_injector/providers.pyx":984
* :rtype: None
* """
* for child in self.__providers.values(): # <<<<<<<<<<<<<<
@@ -21040,14 +21108,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":981
+ /* "dependency_injector/providers.pyx":989
* except Error:
* pass
* super(DependenciesContainer, self).reset_last_overriding() # <<<<<<<<<<<<<<
*
* def reset_override(self):
*/
- __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 981, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
@@ -21055,10 +21123,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 981, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 981, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
@@ -21073,12 +21141,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 981, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":968
+ /* "dependency_injector/providers.pyx":976
* return super(DependenciesContainer, self).override(provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -21104,7 +21172,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":983
+/* "dependency_injector/providers.pyx":991
* super(DependenciesContainer, self).reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -21141,7 +21209,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/providers.pyx":988
+ /* "dependency_injector/providers.pyx":996
* :rtype: None
* """
* for child in self.__providers.values(): # <<<<<<<<<<<<<<
@@ -21150,17 +21218,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 988, __pyx_L1_error)
+ __PYX_ERR(1, 996, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 996, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -21168,17 +21236,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 996, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 996, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 988, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -21188,7 +21256,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 988, __pyx_L1_error)
+ else __PYX_ERR(1, 996, __pyx_L1_error)
}
break;
}
@@ -21197,14 +21265,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":989
+ /* "dependency_injector/providers.pyx":997
* """
* for child in self.__providers.values():
* child.reset_override() # <<<<<<<<<<<<<<
* super(DependenciesContainer, self).reset_override()
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 989, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -21218,12 +21286,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 989, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":988
+ /* "dependency_injector/providers.pyx":996
* :rtype: None
* """
* for child in self.__providers.values(): # <<<<<<<<<<<<<<
@@ -21233,14 +21301,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":990
+ /* "dependency_injector/providers.pyx":998
* for child in self.__providers.values():
* child.reset_override()
* super(DependenciesContainer, self).reset_override() # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 990, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
@@ -21248,10 +21316,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 990, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 990, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -21266,12 +21334,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 990, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":983
+ /* "dependency_injector/providers.pyx":991
* super(DependenciesContainer, self).reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -21297,7 +21365,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContainer_7related_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":993
+/* "dependency_injector/providers.pyx":1001
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -21330,7 +21398,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_4___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 993, __pyx_L1_error)
+ __PYX_ERR(1, 1001, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -21338,7 +21406,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_21DependenciesContainer_7related_2generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_DependenciesContainer___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 993, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_21DependenciesContainer_7related_2generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_DependenciesContainer___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1001, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -21375,18 +21443,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 993, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1001, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":995
+ /* "dependency_injector/providers.pyx":1003
* def related(self):
* """Return related providers generator."""
* yield from self.providers.values() # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 995, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1003, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 995, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1003, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -21401,7 +21469,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 995, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1003, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -21415,23 +21483,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 995, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1003, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 995, __pyx_L1_error)
+ else __PYX_ERR(1, 1003, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":996
+ /* "dependency_injector/providers.pyx":1004
* """Return related providers generator."""
* yield from self.providers.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* def resolve_provider_name(self, provider):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 996, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
@@ -21439,10 +21507,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 996, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 996, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -21456,17 +21524,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 996, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1004, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 996, __pyx_L1_error)
+ else __PYX_ERR(1, 1004, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":993
+ /* "dependency_injector/providers.pyx":1001
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -21493,7 +21561,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":998
+/* "dependency_injector/providers.pyx":1006
* yield from super().related
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -21537,16 +21605,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("resolve_provider_name", 0);
- /* "dependency_injector/providers.pyx":1000
+ /* "dependency_injector/providers.pyx":1008
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
* if container_provider is provider:
* return provider_name
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -21561,16 +21629,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1008, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -21578,17 +21646,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1008, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1008, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -21598,7 +21666,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1000, __pyx_L1_error)
+ else __PYX_ERR(1, 1008, __pyx_L1_error)
}
break;
}
@@ -21610,7 +21678,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 1000, __pyx_L1_error)
+ __PYX_ERR(1, 1008, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -21623,15 +21691,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1000, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -21639,7 +21707,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 1000, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 1008, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -21647,7 +21715,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 1000, __pyx_L1_error)
+ __PYX_ERR(1, 1008, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_provider_name, __pyx_t_2);
@@ -21655,7 +21723,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_XDECREF_SET(__pyx_v_container_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1001
+ /* "dependency_injector/providers.pyx":1009
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -21666,7 +21734,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":1002
+ /* "dependency_injector/providers.pyx":1010
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider:
* return provider_name # <<<<<<<<<<<<<<
@@ -21679,7 +21747,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1001
+ /* "dependency_injector/providers.pyx":1009
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -21688,7 +21756,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":1000
+ /* "dependency_injector/providers.pyx":1008
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -21698,16 +21766,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
/*else*/ {
- /* "dependency_injector/providers.pyx":1004
+ /* "dependency_injector/providers.pyx":1012
* return provider_name
* else:
* raise Error(f'Can not resolve name for provider "{provider}"') # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1004, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1004, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_11 = 0;
__pyx_t_12 = 127;
@@ -21715,7 +21783,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_11 += 35;
__Pyx_GIVEREF(__pyx_kp_u_Can_not_resolve_name_for_provide);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Can_not_resolve_name_for_provide);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1004, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_12;
__pyx_t_11 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
@@ -21726,7 +21794,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_11 += 1;
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__2);
- __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1004, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -21742,15 +21810,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1004, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1004, __pyx_L1_error)
+ __PYX_ERR(1, 1012, __pyx_L1_error)
}
- /* "dependency_injector/providers.pyx":1000
+ /* "dependency_injector/providers.pyx":1008
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -21759,7 +21827,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":998
+ /* "dependency_injector/providers.pyx":1006
* yield from super().related
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -21784,7 +21852,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1007
+/* "dependency_injector/providers.pyx":1015
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -21810,7 +21878,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1009
+ /* "dependency_injector/providers.pyx":1017
* def parent(self):
* """Return parent."""
* return self.__parent # <<<<<<<<<<<<<<
@@ -21822,7 +21890,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = __pyx_v_self->__pyx___parent;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1007
+ /* "dependency_injector/providers.pyx":1015
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -21837,7 +21905,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1012
+/* "dependency_injector/providers.pyx":1020
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -21872,18 +21940,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1014
+ /* "dependency_injector/providers.pyx":1022
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
* return None
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1014, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1022, __pyx_L1_error)
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":1015
+ /* "dependency_injector/providers.pyx":1023
* """Return parent name."""
* if not self.__parent:
* return None # <<<<<<<<<<<<<<
@@ -21894,7 +21962,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1014
+ /* "dependency_injector/providers.pyx":1022
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
@@ -21903,7 +21971,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":1017
+ /* "dependency_injector/providers.pyx":1025
* return None
*
* name = '' # <<<<<<<<<<<<<<
@@ -21913,41 +21981,41 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_INCREF(__pyx_kp_s__9);
__pyx_v_name = __pyx_kp_s__9;
- /* "dependency_injector/providers.pyx":1018
+ /* "dependency_injector/providers.pyx":1026
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}'
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1018, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1018, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1026, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":1019
+ /* "dependency_injector/providers.pyx":1027
* name = ''
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.' # <<<<<<<<<<<<<<
* name += f'{self.__parent.resolve_provider_name(self)}'
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1019, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1019, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1019, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1019, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1018
+ /* "dependency_injector/providers.pyx":1026
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
@@ -21956,14 +22024,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
*/
}
- /* "dependency_injector/providers.pyx":1020
+ /* "dependency_injector/providers.pyx":1028
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}' # <<<<<<<<<<<<<<
*
* return name
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1020, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -21977,19 +22045,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1020, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1020, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1020, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1022
+ /* "dependency_injector/providers.pyx":1030
* name += f'{self.__parent.resolve_provider_name(self)}'
*
* return name # <<<<<<<<<<<<<<
@@ -22001,7 +22069,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__pyx_r = __pyx_v_name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1012
+ /* "dependency_injector/providers.pyx":1020
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -22023,7 +22091,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1024
+/* "dependency_injector/providers.pyx":1032
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -22050,7 +22118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("assign_parent", 0);
- /* "dependency_injector/providers.pyx":1026
+ /* "dependency_injector/providers.pyx":1034
* def assign_parent(self, parent):
* """Assign parent."""
* self.__parent = parent # <<<<<<<<<<<<<<
@@ -22063,7 +22131,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = __pyx_v_parent;
- /* "dependency_injector/providers.pyx":1024
+ /* "dependency_injector/providers.pyx":1032
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -22078,7 +22146,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1028
+/* "dependency_injector/providers.pyx":1036
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -22120,11 +22188,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21DependenciesContain
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 1028, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 1036, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 1028, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 1036, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -22137,7 +22205,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21DependenciesContain
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1028, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1036, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.DependenciesContainer._copy_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -22159,19 +22227,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_parent", 0);
- /* "dependency_injector/providers.pyx":1029
+ /* "dependency_injector/providers.pyx":1037
*
* def _copy_parent(self, copied, memo):
* _copy_parent(self, copied, memo) # <<<<<<<<<<<<<<
*
* cpdef object _override_providers(self, object container):
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1029, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1029, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1037, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1037, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1028
+ /* "dependency_injector/providers.pyx":1036
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -22192,7 +22260,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1031
+/* "dependency_injector/providers.pyx":1039
* _copy_parent(self, copied, memo)
*
* cpdef object _override_providers(self, object container): # <<<<<<<<<<<<<<
@@ -22230,7 +22298,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1031, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_21DependenciesContainer_19_override_providers)) {
__Pyx_XDECREF(__pyx_r);
@@ -22247,7 +22315,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_container) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_container);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1031, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
@@ -22268,16 +22336,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
#endif
}
- /* "dependency_injector/providers.pyx":1033
+ /* "dependency_injector/providers.pyx":1041
* cpdef object _override_providers(self, object container):
* """Override providers with providers from provided container."""
* for name, dependency_provider in container.providers.items(): # <<<<<<<<<<<<<<
* provider = getattr(self, name)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -22292,16 +22360,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1041, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -22309,17 +22377,17 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 1041, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 1041, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -22329,7 +22397,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1033, __pyx_L1_error)
+ else __PYX_ERR(1, 1041, __pyx_L1_error)
}
break;
}
@@ -22341,7 +22409,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 1033, __pyx_L1_error)
+ __PYX_ERR(1, 1041, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -22354,15 +22422,15 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1033, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1041, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -22370,7 +22438,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 1033, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 1041, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -22378,7 +22446,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 1033, __pyx_L1_error)
+ __PYX_ERR(1, 1041, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
@@ -22386,33 +22454,33 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
__Pyx_XDECREF_SET(__pyx_v_dependency_provider, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1034
+ /* "dependency_injector/providers.pyx":1042
* """Override providers with providers from provided container."""
* for name, dependency_provider in container.providers.items():
* provider = getattr(self, name) # <<<<<<<<<<<<<<
*
* if provider.last_overriding is dependency_provider:
*/
- __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1034, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1036
+ /* "dependency_injector/providers.pyx":1044
* provider = getattr(self, name)
*
* if provider.last_overriding is dependency_provider: # <<<<<<<<<<<<<<
* continue
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1036, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_last_overriding); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1044, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_9 = (__pyx_t_1 == __pyx_v_dependency_provider);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":1037
+ /* "dependency_injector/providers.pyx":1045
*
* if provider.last_overriding is dependency_provider:
* continue # <<<<<<<<<<<<<<
@@ -22421,7 +22489,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
*/
goto __pyx_L3_continue;
- /* "dependency_injector/providers.pyx":1036
+ /* "dependency_injector/providers.pyx":1044
* provider = getattr(self, name)
*
* if provider.last_overriding is dependency_provider: # <<<<<<<<<<<<<<
@@ -22430,14 +22498,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
*/
}
- /* "dependency_injector/providers.pyx":1039
+ /* "dependency_injector/providers.pyx":1047
* continue
*
* provider.override(dependency_provider) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1039, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -22451,12 +22519,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_dependency_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_dependency_provider);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1039, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1033
+ /* "dependency_injector/providers.pyx":1041
* cpdef object _override_providers(self, object container):
* """Override providers with providers from provided container."""
* for name, dependency_provider in container.providers.items(): # <<<<<<<<<<<<<<
@@ -22467,7 +22535,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21DependenciesContaine
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1031
+ /* "dependency_injector/providers.pyx":1039
* _copy_parent(self, copied, memo)
*
* cpdef object _override_providers(self, object container): # <<<<<<<<<<<<<<
@@ -22518,7 +22586,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_override_providers", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_21DependenciesContainer__override_providers(__pyx_v_self, __pyx_v_container, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1031, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_21DependenciesContainer__override_providers(__pyx_v_self, __pyx_v_container, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -22887,7 +22955,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21DependenciesContain
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1066
+/* "dependency_injector/providers.pyx":1074
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -22947,7 +23015,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Callable_1__init__(PyObjec
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 1066, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 1074, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -22987,7 +23055,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":1068
+ /* "dependency_injector/providers.pyx":1076
* def __init__(self, provides=None, *args, **kwargs):
* """Initialize provider."""
* self.__provides = None # <<<<<<<<<<<<<<
@@ -23000,14 +23068,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":1069
+ /* "dependency_injector/providers.pyx":1077
* """Initialize provider."""
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
*
* self.__args = tuple()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1069, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -23021,19 +23089,19 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1069, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1071
+ /* "dependency_injector/providers.pyx":1079
* self.set_provides(provides)
*
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = 0
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1071, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -23041,7 +23109,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1072
+ /* "dependency_injector/providers.pyx":1080
*
* self.__args = tuple()
* self.__args_len = 0 # <<<<<<<<<<<<<<
@@ -23050,28 +23118,28 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
*/
__pyx_v_self->__pyx___args_len = 0;
- /* "dependency_injector/providers.pyx":1073
+ /* "dependency_injector/providers.pyx":1081
* self.__args = tuple()
* self.__args_len = 0
* self.set_args(*args) # <<<<<<<<<<<<<<
*
* self.__kwargs = tuple()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1073, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1073, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1075
+ /* "dependency_injector/providers.pyx":1083
* self.set_args(*args)
*
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1075, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1083, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -23079,7 +23147,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1076
+ /* "dependency_injector/providers.pyx":1084
*
* self.__kwargs = tuple()
* self.__kwargs_len = 0 # <<<<<<<<<<<<<<
@@ -23088,59 +23156,62 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
*/
__pyx_v_self->__pyx___kwargs_len = 0;
- /* "dependency_injector/providers.pyx":1077
+ /* "dependency_injector/providers.pyx":1085
* self.__kwargs = tuple()
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
*
* super(Callable, self).__init__()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1077, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1077, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1085, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1079
+ /* "dependency_injector/providers.pyx":1087
* self.set_kwargs(**kwargs)
*
* super(Callable, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1079, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1087, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1079, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1079, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1087, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1079, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1087, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1087, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1066
+ /* "dependency_injector/providers.pyx":1074
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -23162,7 +23233,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Callable___init__(struct _
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1081
+/* "dependency_injector/providers.pyx":1089
* super(Callable, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -23200,16 +23271,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":1083
+ /* "dependency_injector/providers.pyx":1091
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1083, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1083, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -23224,13 +23295,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1083, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1084
+ /* "dependency_injector/providers.pyx":1092
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -23241,7 +23312,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":1085
+ /* "dependency_injector/providers.pyx":1093
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -23253,7 +23324,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1084
+ /* "dependency_injector/providers.pyx":1092
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -23262,32 +23333,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":1087
+ /* "dependency_injector/providers.pyx":1095
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1087, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1087, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1095, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1095, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1088
+ /* "dependency_injector/providers.pyx":1096
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1088, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1088, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1088, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1088, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1096, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -23303,85 +23374,85 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1088, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1089
+ /* "dependency_injector/providers.pyx":1097
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1089, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1097, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1089, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1097, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1089, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1097, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1089, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1097, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1089, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1097, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1089, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1097, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1090
+ /* "dependency_injector/providers.pyx":1098
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1090, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1098, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 1090, __pyx_L1_error)
+ __PYX_ERR(1, 1098, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1090, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1091
+ /* "dependency_injector/providers.pyx":1099
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 1091, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1091, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 1099, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1099, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Callable *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":1092
+ /* "dependency_injector/providers.pyx":1100
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -23393,7 +23464,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1081
+ /* "dependency_injector/providers.pyx":1089
* super(Callable, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -23416,7 +23487,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_2__deepcopy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1094
+/* "dependency_injector/providers.pyx":1102
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -23451,7 +23522,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4__str__(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":1099
+ /* "dependency_injector/providers.pyx":1107
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.__provides) # <<<<<<<<<<<<<<
@@ -23461,14 +23532,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4__str__(st
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1099, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1094
+ /* "dependency_injector/providers.pyx":1102
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -23488,7 +23559,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4__str__(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1102
+/* "dependency_injector/providers.pyx":1110
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -23514,7 +23585,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8provides__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1104
+ /* "dependency_injector/providers.pyx":1112
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -23526,7 +23597,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8provides__
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1102
+ /* "dependency_injector/providers.pyx":1110
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -23541,7 +23612,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8provides__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1106
+/* "dependency_injector/providers.pyx":1114
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -23582,56 +23653,56 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":1108
+ /* "dependency_injector/providers.pyx":1116
* def set_provides(self, provides):
* """Set provider's provides."""
* if provides and not callable(provides): # <<<<<<<<<<<<<<
* raise Error(
* 'Provider {0} expected to get callable, got {1} instead'.format(
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1108, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1116, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_2 = __Pyx_PyCallable_Check(__pyx_v_provides); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 1108, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCallable_Check(__pyx_v_provides); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 1116, __pyx_L1_error)
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":1109
+ /* "dependency_injector/providers.pyx":1117
* """Set provider's provides."""
* if provides and not callable(provides):
* raise Error( # <<<<<<<<<<<<<<
* 'Provider {0} expected to get callable, got {1} instead'.format(
* _class_qualname(self),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1109, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":1110
+ /* "dependency_injector/providers.pyx":1118
* if provides and not callable(provides):
* raise Error(
* 'Provider {0} expected to get callable, got {1} instead'.format( # <<<<<<<<<<<<<<
* _class_qualname(self),
* provides,
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_expected_to_get_calla, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1110, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Provider_0_expected_to_get_calla, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/providers.pyx":1111
+ /* "dependency_injector/providers.pyx":1119
* raise Error(
* 'Provider {0} expected to get callable, got {1} instead'.format(
* _class_qualname(self), # <<<<<<<<<<<<<<
* provides,
* ),
*/
- __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1111, __pyx_L1_error)
+ __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1119, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- /* "dependency_injector/providers.pyx":1112
+ /* "dependency_injector/providers.pyx":1120
* 'Provider {0} expected to get callable, got {1} instead'.format(
* _class_qualname(self),
* provides, # <<<<<<<<<<<<<<
@@ -23653,7 +23724,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_v_provides};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1110, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1118, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -23662,14 +23733,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_v_provides};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1110, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1118, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
- __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1110, __pyx_L1_error)
+ __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -23680,7 +23751,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
__Pyx_GIVEREF(__pyx_v_provides);
PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_provides);
__pyx_t_8 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_11, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1110, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_11, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
@@ -23698,14 +23769,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1109, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 1109, __pyx_L1_error)
+ __PYX_ERR(1, 1117, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1108
+ /* "dependency_injector/providers.pyx":1116
* def set_provides(self, provides):
* """Set provider's provides."""
* if provides and not callable(provides): # <<<<<<<<<<<<<<
@@ -23714,7 +23785,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
*/
}
- /* "dependency_injector/providers.pyx":1115
+ /* "dependency_injector/providers.pyx":1123
* ),
* )
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -23727,7 +23798,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":1116
+ /* "dependency_injector/providers.pyx":1124
* )
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -23739,7 +23810,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1106
+ /* "dependency_injector/providers.pyx":1114
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -23764,7 +23835,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6set_provid
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1119
+/* "dependency_injector/providers.pyx":1127
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -23801,19 +23872,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1125
+ /* "dependency_injector/providers.pyx":1133
* cdef list args
*
* args = list() # <<<<<<<<<<<<<<
* for index in range(self.__args_len):
* arg = self.__args[index]
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1125, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1126
+ /* "dependency_injector/providers.pyx":1134
*
* args = list()
* for index in range(self.__args_len): # <<<<<<<<<<<<<<
@@ -23825,7 +23896,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":1127
+ /* "dependency_injector/providers.pyx":1135
* args = list()
* for index in range(self.__args_len):
* arg = self.__args[index] # <<<<<<<<<<<<<<
@@ -23834,15 +23905,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
*/
if (unlikely(__pyx_v_self->__pyx___args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1127, __pyx_L1_error)
+ __PYX_ERR(1, 1135, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1127, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 1127, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 1135, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1128
+ /* "dependency_injector/providers.pyx":1136
* for index in range(self.__args_len):
* arg = self.__args[index]
* args.append(arg.__value) # <<<<<<<<<<<<<<
@@ -23851,11 +23922,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
*/
__pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 1128, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 1136, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":1129
+ /* "dependency_injector/providers.pyx":1137
* arg = self.__args[index]
* args.append(arg.__value)
* return tuple(args) # <<<<<<<<<<<<<<
@@ -23863,13 +23934,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
* def add_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1129, __pyx_L1_error)
+ __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1119
+ /* "dependency_injector/providers.pyx":1127
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -23890,7 +23961,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_4args___get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1131
+/* "dependency_injector/providers.pyx":1139
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -23928,16 +23999,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8add_args(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_args", 0);
- /* "dependency_injector/providers.pyx":1136
+ /* "dependency_injector/providers.pyx":1144
* :return: Reference ``self``
* """
* self.__args += parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1136, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1144, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1136, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1144, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -23946,7 +24017,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8add_args(s
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1137
+ /* "dependency_injector/providers.pyx":1145
* """
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -23957,13 +24028,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8add_args(s
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1137, __pyx_L1_error)
+ __PYX_ERR(1, 1145, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1137, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":1138
+ /* "dependency_injector/providers.pyx":1146
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -23975,7 +24046,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8add_args(s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1131
+ /* "dependency_injector/providers.pyx":1139
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -23995,7 +24066,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_8add_args(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1140
+/* "dependency_injector/providers.pyx":1148
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -24032,14 +24103,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_10set_args(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":1147
+ /* "dependency_injector/providers.pyx":1155
* :return: Reference ``self``
* """
* self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1147, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1155, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -24047,7 +24118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_10set_args(
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1148
+ /* "dependency_injector/providers.pyx":1156
* """
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -24058,13 +24129,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_10set_args(
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1148, __pyx_L1_error)
+ __PYX_ERR(1, 1156, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1148, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1156, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1149
+ /* "dependency_injector/providers.pyx":1157
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -24076,7 +24147,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_10set_args(
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1140
+ /* "dependency_injector/providers.pyx":1148
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -24095,7 +24166,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_10set_args(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1151
+/* "dependency_injector/providers.pyx":1159
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -24127,14 +24198,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_12clear_arg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_args", 0);
- /* "dependency_injector/providers.pyx":1156
+ /* "dependency_injector/providers.pyx":1164
* :return: Reference ``self``
* """
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1156, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -24142,7 +24213,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_12clear_arg
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1157
+ /* "dependency_injector/providers.pyx":1165
* """
* self.__args = tuple()
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -24153,13 +24224,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_12clear_arg
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1157, __pyx_L1_error)
+ __PYX_ERR(1, 1165, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1157, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1165, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1158
+ /* "dependency_injector/providers.pyx":1166
* self.__args = tuple()
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -24171,7 +24242,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_12clear_arg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1151
+ /* "dependency_injector/providers.pyx":1159
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -24190,7 +24261,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_12clear_arg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1161
+/* "dependency_injector/providers.pyx":1169
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -24226,19 +24297,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1167
+ /* "dependency_injector/providers.pyx":1175
* cdef dict kwargs
*
* kwargs = dict() # <<<<<<<<<<<<<<
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1167, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1175, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1168
+ /* "dependency_injector/providers.pyx":1176
*
* kwargs = dict()
* for index in range(self.__kwargs_len): # <<<<<<<<<<<<<<
@@ -24250,7 +24321,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":1169
+ /* "dependency_injector/providers.pyx":1177
* kwargs = dict()
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index] # <<<<<<<<<<<<<<
@@ -24259,15 +24330,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
*/
if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1169, __pyx_L1_error)
+ __PYX_ERR(1, 1177, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1169, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1177, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 1169, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 1177, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1170
+ /* "dependency_injector/providers.pyx":1178
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<<
@@ -24276,11 +24347,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
*/
__pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 1170, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 1178, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":1171
+ /* "dependency_injector/providers.pyx":1179
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value
* return kwargs # <<<<<<<<<<<<<<
@@ -24292,7 +24363,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1161
+ /* "dependency_injector/providers.pyx":1169
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -24313,7 +24384,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_6kwargs___g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1173
+/* "dependency_injector/providers.pyx":1181
* return kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -24353,16 +24424,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_14add_kwarg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_kwargs", 0);
- /* "dependency_injector/providers.pyx":1178
+ /* "dependency_injector/providers.pyx":1186
* :return: Reference ``self``
* """
* self.__kwargs += parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1178, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1178, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -24371,7 +24442,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_14add_kwarg
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1179
+ /* "dependency_injector/providers.pyx":1187
* """
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -24382,13 +24453,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_14add_kwarg
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1179, __pyx_L1_error)
+ __PYX_ERR(1, 1187, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1179, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1187, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":1180
+ /* "dependency_injector/providers.pyx":1188
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -24400,7 +24471,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_14add_kwarg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1173
+ /* "dependency_injector/providers.pyx":1181
* return kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -24420,7 +24491,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_14add_kwarg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1182
+/* "dependency_injector/providers.pyx":1190
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -24459,14 +24530,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_16set_kwarg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_kwargs", 0);
- /* "dependency_injector/providers.pyx":1189
+ /* "dependency_injector/providers.pyx":1197
* :return: Reference ``self``
* """
* self.__kwargs = parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1189, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1197, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -24474,7 +24545,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_16set_kwarg
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1190
+ /* "dependency_injector/providers.pyx":1198
* """
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -24485,13 +24556,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_16set_kwarg
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1190, __pyx_L1_error)
+ __PYX_ERR(1, 1198, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1190, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1198, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1191
+ /* "dependency_injector/providers.pyx":1199
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -24503,7 +24574,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_16set_kwarg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1182
+ /* "dependency_injector/providers.pyx":1190
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -24522,7 +24593,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_16set_kwarg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1193
+/* "dependency_injector/providers.pyx":1201
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -24554,14 +24625,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_18clear_kwa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_kwargs", 0);
- /* "dependency_injector/providers.pyx":1198
+ /* "dependency_injector/providers.pyx":1206
* :return: Reference ``self``
* """
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1198, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1206, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -24569,7 +24640,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_18clear_kwa
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1199
+ /* "dependency_injector/providers.pyx":1207
* """
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -24580,13 +24651,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_18clear_kwa
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 1199, __pyx_L1_error)
+ __PYX_ERR(1, 1207, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1199, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1200
+ /* "dependency_injector/providers.pyx":1208
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -24598,7 +24669,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_18clear_kwa
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1193
+ /* "dependency_injector/providers.pyx":1201
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -24618,7 +24689,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_18clear_kwa
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":1203
+/* "dependency_injector/providers.pyx":1211
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -24651,7 +24722,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_7related___
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_5___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 1203, __pyx_L1_error)
+ __PYX_ERR(1, 1211, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -24659,7 +24730,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_7related___
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Callable_7related_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Callable___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1203, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Callable_7related_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Callable___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1211, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -24699,25 +24770,25 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1203, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1211, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1205
+ /* "dependency_injector/providers.pyx":1213
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides]) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -24725,7 +24796,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3);
@@ -24739,27 +24810,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1205, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1213, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1205, __pyx_L1_error)
+ else __PYX_ERR(1, 1213, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":1206
+ /* "dependency_injector/providers.pyx":1214
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1206, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1206, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1206, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
@@ -24767,7 +24838,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
__pyx_t_3 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1206, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -24781,27 +24852,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1206, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1214, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1206, __pyx_L1_error)
+ else __PYX_ERR(1, 1214, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":1207
+ /* "dependency_injector/providers.pyx":1215
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -24816,10 +24887,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
@@ -24827,7 +24898,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1215, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -24841,23 +24912,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1207, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1215, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1207, __pyx_L1_error)
+ else __PYX_ERR(1, 1215, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":1208
+ /* "dependency_injector/providers.pyx":1216
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1208, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1216, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
@@ -24865,10 +24936,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1208, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1216, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1208, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1216, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -24882,17 +24953,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L7_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1208, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1216, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1208, __pyx_L1_error)
+ else __PYX_ERR(1, 1216, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":1203
+ /* "dependency_injector/providers.pyx":1211
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -24920,7 +24991,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Callable_7related_2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1210
+/* "dependency_injector/providers.pyx":1218
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -24951,7 +25022,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Callable_21_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -24971,7 +25042,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -24979,13 +25050,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -24996,7 +25067,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -25019,7 +25090,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
#endif
}
- /* "dependency_injector/providers.pyx":1212
+ /* "dependency_injector/providers.pyx":1220
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* return __callable_call(self, args, kwargs) # <<<<<<<<<<<<<<
@@ -25027,13 +25098,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Callable__provide(str
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___callable_call(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1212, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___callable_call(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1210
+ /* "dependency_injector/providers.pyx":1218
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -25091,11 +25162,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Callable_21_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1210, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1218, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1210, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1218, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -25108,14 +25179,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Callable_21_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1210, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1218, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Callable._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1210, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1210, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1218, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1218, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Callable_20_provide(((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -25136,7 +25207,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Callable_20_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Callable__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1210, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Callable__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1218, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -25881,7 +25952,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17DelegatedCallable_2
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1234
+/* "dependency_injector/providers.pyx":1242
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -25902,12 +25973,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16AbstractCallable_1_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_16AbstractCallable___call__(((struct __pyx_obj_19dependency_injector_9providers_AbstractCallable *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -25934,7 +26001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":1239
+ /* "dependency_injector/providers.pyx":1247
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -25945,16 +26012,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1240
+ /* "dependency_injector/providers.pyx":1248
* """
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self)) # <<<<<<<<<<<<<<
* return super().__call__(*args, **kwargs)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1240, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1240, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -25968,7 +26035,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1240, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -25984,14 +26051,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1240, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1240, __pyx_L1_error)
+ __PYX_ERR(1, 1248, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1239
+ /* "dependency_injector/providers.pyx":1247
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -26000,7 +26067,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
*/
}
- /* "dependency_injector/providers.pyx":1241
+ /* "dependency_injector/providers.pyx":1249
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self))
* return super().__call__(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -26008,7 +26075,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
* def override(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1241, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCallable));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCallable));
@@ -26016,20 +26083,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1241, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1241, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1241, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1249, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_4;
- __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_5;
+ __pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1234
+ /* "dependency_injector/providers.pyx":1242
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -26052,7 +26122,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable___
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1243
+/* "dependency_injector/providers.pyx":1251
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -26091,7 +26161,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":1254
+ /* "dependency_injector/providers.pyx":1262
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Callable): # <<<<<<<<<<<<<<
@@ -26102,24 +26172,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1255
+ /* "dependency_injector/providers.pyx":1263
* """
* if not isinstance(provider, Callable):
* raise Error('{0} must be overridden only by ' # <<<<<<<<<<<<<<
* '{1} providers'.format(self, Callable))
* return super(AbstractCallable, self).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1255, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1263, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1256
+ /* "dependency_injector/providers.pyx":1264
* if not isinstance(provider, Callable):
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Callable)) # <<<<<<<<<<<<<<
* return super(AbstractCallable, self).override(provider)
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1256, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -26136,7 +26206,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1256, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1264, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -26144,13 +26214,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1256, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1264, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1256, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -26161,7 +26231,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1256, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -26179,14 +26249,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1255, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1263, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1255, __pyx_L1_error)
+ __PYX_ERR(1, 1263, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1254
+ /* "dependency_injector/providers.pyx":1262
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Callable): # <<<<<<<<<<<<<<
@@ -26195,7 +26265,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
*/
}
- /* "dependency_injector/providers.pyx":1257
+ /* "dependency_injector/providers.pyx":1265
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Callable))
* return super(AbstractCallable, self).override(provider) # <<<<<<<<<<<<<<
@@ -26203,7 +26273,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1257, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCallable));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCallable));
@@ -26211,10 +26281,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1257, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1257, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -26229,14 +26299,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1257, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1243
+ /* "dependency_injector/providers.pyx":1251
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -26260,7 +26330,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_2o
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1259
+/* "dependency_injector/providers.pyx":1267
* return super(AbstractCallable, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -26291,7 +26361,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16AbstractCallable__pr
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_16AbstractCallable_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -26311,7 +26381,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16AbstractCallable__pr
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -26319,13 +26389,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16AbstractCallable__pr
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -26336,7 +26406,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16AbstractCallable__pr
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -26359,20 +26429,20 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16AbstractCallable__pr
#endif
}
- /* "dependency_injector/providers.pyx":1261
+ /* "dependency_injector/providers.pyx":1269
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* raise NotImplementedError('Abstract provider forward providing logic ' # <<<<<<<<<<<<<<
* 'to overriding provider')
*
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1261, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1261, __pyx_L1_error)
+ __PYX_ERR(1, 1269, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1259
+ /* "dependency_injector/providers.pyx":1267
* return super(AbstractCallable, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -26430,11 +26500,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16AbstractCallable_5_
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1259, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1267, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1259, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1267, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -26447,14 +26517,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16AbstractCallable_5_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1259, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1267, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AbstractCallable._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1259, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1259, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1267, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1267, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_16AbstractCallable_4_provide(((struct __pyx_obj_19dependency_injector_9providers_AbstractCallable *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -26475,7 +26545,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_4_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16AbstractCallable__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1259, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16AbstractCallable__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -26856,7 +26926,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16AbstractCallable_8_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1275
+/* "dependency_injector/providers.pyx":1283
* """
*
* def __init__(self, callable): # <<<<<<<<<<<<<<
@@ -26897,7 +26967,7 @@ static int __pyx_pw_19dependency_injector_9providers_16CallableDelegate_1__init_
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1275, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1283, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -26908,7 +26978,7 @@ static int __pyx_pw_19dependency_injector_9providers_16CallableDelegate_1__init_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1275, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1283, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.CallableDelegate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -26939,7 +27009,7 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":1281
+ /* "dependency_injector/providers.pyx":1289
* :type callable: object
* """
* if isinstance(callable, Callable) is False: # <<<<<<<<<<<<<<
@@ -26950,26 +27020,26 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
__pyx_t_2 = ((__pyx_t_1 == 0) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1282
+ /* "dependency_injector/providers.pyx":1290
* """
* if isinstance(callable, Callable) is False:
* raise Error('{0} can wrap only {1} providers'.format( # <<<<<<<<<<<<<<
* self.__class__, Callable))
* super(CallableDelegate, self).__init__(callable)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":1283
+ /* "dependency_injector/providers.pyx":1291
* if isinstance(callable, Callable) is False:
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Callable)) # <<<<<<<<<<<<<<
* super(CallableDelegate, self).__init__(callable)
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1283, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -26986,7 +27056,7 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -26995,14 +27065,14 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -27013,7 +27083,7 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__pyx_t_7 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -27031,14 +27101,14 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1282, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1282, __pyx_L1_error)
+ __PYX_ERR(1, 1290, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1281
+ /* "dependency_injector/providers.pyx":1289
* :type callable: object
* """
* if isinstance(callable, Callable) is False: # <<<<<<<<<<<<<<
@@ -27047,14 +27117,14 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
*/
}
- /* "dependency_injector/providers.pyx":1284
+ /* "dependency_injector/providers.pyx":1292
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Callable))
* super(CallableDelegate, self).__init__(callable) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1284, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_CallableDelegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_CallableDelegate));
@@ -27062,10 +27132,10 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1284, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1284, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -27080,12 +27150,12 @@ static int __pyx_pf_19dependency_injector_9providers_16CallableDelegate___init__
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_callable) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_callable);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1284, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1275
+ /* "dependency_injector/providers.pyx":1283
* """
*
* def __init__(self, callable): # <<<<<<<<<<<<<<
@@ -27443,7 +27513,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16CallableDelegate_4_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1313
+/* "dependency_injector/providers.pyx":1321
* _is_coroutine = _is_coroutine_marker
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -27483,28 +27553,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":1315
+ /* "dependency_injector/providers.pyx":1323
* def set_provides(self, provides):
* """Set provider's provides."""
* if not asyncio: # <<<<<<<<<<<<<<
* raise Error('Package asyncio is not available')
* if provides and not asyncio.iscoroutinefunction(provides):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1315, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1315, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1323, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!__pyx_t_2) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1316
+ /* "dependency_injector/providers.pyx":1324
* """Set provider's provides."""
* if not asyncio:
* raise Error('Package asyncio is not available') # <<<<<<<<<<<<<<
* if provides and not asyncio.iscoroutinefunction(provides):
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1316, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -27518,14 +27588,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Package_asyncio_is_not_available) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Package_asyncio_is_not_available);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1316, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1316, __pyx_L1_error)
+ __PYX_ERR(1, 1324, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1315
+ /* "dependency_injector/providers.pyx":1323
* def set_provides(self, provides):
* """Set provider's provides."""
* if not asyncio: # <<<<<<<<<<<<<<
@@ -27534,22 +27604,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
*/
}
- /* "dependency_injector/providers.pyx":1317
+ /* "dependency_injector/providers.pyx":1325
* if not asyncio:
* raise Error('Package asyncio is not available')
* if provides and not asyncio.iscoroutinefunction(provides): # <<<<<<<<<<<<<<
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, '
* f'got {provides} instead')
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1317, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1325, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_3 = __pyx_t_2;
goto __pyx_L5_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1317, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1325, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1317, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1325, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -27564,26 +27634,26 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1317, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1325, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1317, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1325, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = ((!__pyx_t_2) != 0);
__pyx_t_3 = __pyx_t_6;
__pyx_L5_bool_binop_done:;
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1318
+ /* "dependency_injector/providers.pyx":1326
* raise Error('Package asyncio is not available')
* if provides and not asyncio.iscoroutinefunction(provides):
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, ' # <<<<<<<<<<<<<<
* f'got {provides} instead')
* return super().set_provides(provides)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = 0;
__pyx_t_8 = 127;
@@ -27591,9 +27661,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
__pyx_t_7 += 9;
__Pyx_GIVEREF(__pyx_kp_u_Provider_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Provider_2);
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8;
@@ -27606,14 +27676,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
__Pyx_GIVEREF(__pyx_kp_u_expected_to_get_coroutine_funct);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_expected_to_get_coroutine_funct);
- /* "dependency_injector/providers.pyx":1319
+ /* "dependency_injector/providers.pyx":1327
* if provides and not asyncio.iscoroutinefunction(provides):
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, '
* f'got {provides} instead') # <<<<<<<<<<<<<<
* return super().set_provides(provides)
*
*/
- __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_provides, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1319, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_provides, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1327, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8;
__pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10);
@@ -27625,14 +27695,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
__Pyx_GIVEREF(__pyx_kp_u_instead);
PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_kp_u_instead);
- /* "dependency_injector/providers.pyx":1318
+ /* "dependency_injector/providers.pyx":1326
* raise Error('Package asyncio is not available')
* if provides and not asyncio.iscoroutinefunction(provides):
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, ' # <<<<<<<<<<<<<<
* f'got {provides} instead')
* return super().set_provides(provides)
*/
- __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -27648,14 +27718,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1318, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1318, __pyx_L1_error)
+ __PYX_ERR(1, 1326, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1317
+ /* "dependency_injector/providers.pyx":1325
* if not asyncio:
* raise Error('Package asyncio is not available')
* if provides and not asyncio.iscoroutinefunction(provides): # <<<<<<<<<<<<<<
@@ -27664,7 +27734,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
*/
}
- /* "dependency_injector/providers.pyx":1320
+ /* "dependency_injector/providers.pyx":1328
* raise Error(f'Provider {_class_qualname(self)} expected to get coroutine function, '
* f'got {provides} instead')
* return super().set_provides(provides) # <<<<<<<<<<<<<<
@@ -27672,7 +27742,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1320, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine));
@@ -27680,10 +27750,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1320, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1320, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = NULL;
@@ -27698,14 +27768,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Coroutine_set_provid
}
__pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1320, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1313
+ /* "dependency_injector/providers.pyx":1321
* _is_coroutine = _is_coroutine_marker
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -28456,7 +28526,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18DelegatedCoroutine_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1342
+/* "dependency_injector/providers.pyx":1350
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -28477,12 +28547,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17AbstractCoroutine_1
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_17AbstractCoroutine___call__(((struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -28509,7 +28575,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":1347
+ /* "dependency_injector/providers.pyx":1355
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -28520,16 +28586,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1348
+ /* "dependency_injector/providers.pyx":1356
* """
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self)) # <<<<<<<<<<<<<<
* return super().__call__(*args, **kwargs)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1348, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1348, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -28543,7 +28609,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1348, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -28559,14 +28625,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1348, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1348, __pyx_L1_error)
+ __PYX_ERR(1, 1356, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1347
+ /* "dependency_injector/providers.pyx":1355
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -28575,7 +28641,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
*/
}
- /* "dependency_injector/providers.pyx":1349
+ /* "dependency_injector/providers.pyx":1357
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self))
* return super().__call__(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -28583,7 +28649,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
* def override(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1349, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine));
@@ -28591,20 +28657,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1349, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1349, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1349, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1357, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_4;
- __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_5;
+ __pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1342
+ /* "dependency_injector/providers.pyx":1350
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -28627,7 +28696,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1351
+/* "dependency_injector/providers.pyx":1359
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -28666,7 +28735,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":1362
+ /* "dependency_injector/providers.pyx":1370
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Coroutine): # <<<<<<<<<<<<<<
@@ -28677,24 +28746,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1363
+ /* "dependency_injector/providers.pyx":1371
* """
* if not isinstance(provider, Coroutine):
* raise Error('{0} must be overridden only by ' # <<<<<<<<<<<<<<
* '{1} providers'.format(self, Coroutine))
* return super(AbstractCoroutine, self).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1363, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1371, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1364
+ /* "dependency_injector/providers.pyx":1372
* if not isinstance(provider, Coroutine):
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Coroutine)) # <<<<<<<<<<<<<<
* return super(AbstractCoroutine, self).override(provider)
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1364, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -28711,7 +28780,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1364, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1372, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -28719,13 +28788,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1364, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1372, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1364, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -28736,7 +28805,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine));
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1364, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -28754,14 +28823,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1363, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1371, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1363, __pyx_L1_error)
+ __PYX_ERR(1, 1371, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1362
+ /* "dependency_injector/providers.pyx":1370
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Coroutine): # <<<<<<<<<<<<<<
@@ -28770,7 +28839,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
*/
}
- /* "dependency_injector/providers.pyx":1365
+ /* "dependency_injector/providers.pyx":1373
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Coroutine))
* return super(AbstractCoroutine, self).override(provider) # <<<<<<<<<<<<<<
@@ -28778,7 +28847,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1365, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine));
@@ -28786,10 +28855,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1365, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1365, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -28804,14 +28873,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1365, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1351
+ /* "dependency_injector/providers.pyx":1359
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -28835,7 +28904,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_2
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1367
+/* "dependency_injector/providers.pyx":1375
* return super(AbstractCoroutine, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -28866,7 +28935,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__p
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_17AbstractCoroutine_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -28886,7 +28955,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__p
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -28894,13 +28963,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__p
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -28911,7 +28980,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__p
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -28934,20 +29003,20 @@ static PyObject *__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__p
#endif
}
- /* "dependency_injector/providers.pyx":1369
+ /* "dependency_injector/providers.pyx":1377
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* raise NotImplementedError('Abstract provider forward providing logic ' # <<<<<<<<<<<<<<
* 'to overriding provider')
*
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1369, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1369, __pyx_L1_error)
+ __PYX_ERR(1, 1377, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1367
+ /* "dependency_injector/providers.pyx":1375
* return super(AbstractCoroutine, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -29005,11 +29074,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17AbstractCoroutine_5
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1367, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1375, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1367, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1375, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -29022,14 +29091,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17AbstractCoroutine_5
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1367, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1375, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AbstractCoroutine._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1367, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1367, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1375, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1375, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_4_provide(((struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -29050,7 +29119,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_4
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_17AbstractCoroutine__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1367, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_17AbstractCoroutine__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -29431,7 +29500,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractCoroutine_8
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1383
+/* "dependency_injector/providers.pyx":1391
* """
*
* def __init__(self, coroutine): # <<<<<<<<<<<<<<
@@ -29472,7 +29541,7 @@ static int __pyx_pw_19dependency_injector_9providers_17CoroutineDelegate_1__init
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1383, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1391, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -29483,7 +29552,7 @@ static int __pyx_pw_19dependency_injector_9providers_17CoroutineDelegate_1__init
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1383, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1391, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.CoroutineDelegate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -29514,7 +29583,7 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":1389
+ /* "dependency_injector/providers.pyx":1397
* :type coroutine: object
* """
* if isinstance(coroutine, Coroutine) is False: # <<<<<<<<<<<<<<
@@ -29525,26 +29594,26 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
__pyx_t_2 = ((__pyx_t_1 == 0) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1390
+ /* "dependency_injector/providers.pyx":1398
* """
* if isinstance(coroutine, Coroutine) is False:
* raise Error('{0} can wrap only {1} providers'.format( # <<<<<<<<<<<<<<
* self.__class__, Callable))
* super(CoroutineDelegate, self).__init__(coroutine)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":1391
+ /* "dependency_injector/providers.pyx":1399
* if isinstance(coroutine, Coroutine) is False:
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Callable)) # <<<<<<<<<<<<<<
* super(CoroutineDelegate, self).__init__(coroutine)
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1391, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -29561,7 +29630,7 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -29570,14 +29639,14 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -29588,7 +29657,7 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable));
__pyx_t_7 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -29606,14 +29675,14 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1390, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1390, __pyx_L1_error)
+ __PYX_ERR(1, 1398, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1389
+ /* "dependency_injector/providers.pyx":1397
* :type coroutine: object
* """
* if isinstance(coroutine, Coroutine) is False: # <<<<<<<<<<<<<<
@@ -29622,14 +29691,14 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
*/
}
- /* "dependency_injector/providers.pyx":1392
+ /* "dependency_injector/providers.pyx":1400
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Callable))
* super(CoroutineDelegate, self).__init__(coroutine) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1392, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate));
@@ -29637,10 +29706,10 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1392, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1392, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -29655,12 +29724,12 @@ static int __pyx_pf_19dependency_injector_9providers_17CoroutineDelegate___init_
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_coroutine) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_coroutine);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1392, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1383
+ /* "dependency_injector/providers.pyx":1391
* """
*
* def __init__(self, coroutine): # <<<<<<<<<<<<<<
@@ -30018,7 +30087,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17CoroutineDelegate_4
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1402
+/* "dependency_injector/providers.pyx":1410
* """
*
* def __init__(self, name=None, Configuration root=None, required=False): # <<<<<<<<<<<<<<
@@ -30078,7 +30147,7 @@ static int __pyx_pw_19dependency_injector_9providers_19ConfigurationOption_1__in
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1402, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1410, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -30098,13 +30167,13 @@ static int __pyx_pw_19dependency_injector_9providers_19ConfigurationOption_1__in
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1402, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1410, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_root), __pyx_ptype_19dependency_injector_9providers_Configuration, 1, "root", 0))) __PYX_ERR(1, 1402, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_root), __pyx_ptype_19dependency_injector_9providers_Configuration, 1, "root", 0))) __PYX_ERR(1, 1410, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___init__(((struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption *)__pyx_v_self), __pyx_v_name, __pyx_v_root, __pyx_v_required);
/* function exit code */
@@ -30128,14 +30197,14 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":1403
+ /* "dependency_injector/providers.pyx":1411
*
* def __init__(self, name=None, Configuration root=None, required=False):
* self.__name = name # <<<<<<<<<<<<<<
* self.__root = root
* self.__children = {}
*/
- if (!(likely(PyTuple_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1403, __pyx_L1_error)
+ if (!(likely(PyTuple_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1411, __pyx_L1_error)
__pyx_t_1 = __pyx_v_name;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -30144,7 +30213,7 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
__pyx_v_self->__pyx___name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1404
+ /* "dependency_injector/providers.pyx":1412
* def __init__(self, name=None, Configuration root=None, required=False):
* self.__name = name
* self.__root = root # <<<<<<<<<<<<<<
@@ -30157,14 +30226,14 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___root));
__pyx_v_self->__pyx___root = __pyx_v_root;
- /* "dependency_injector/providers.pyx":1405
+ /* "dependency_injector/providers.pyx":1413
* self.__name = name
* self.__root = root
* self.__children = {} # <<<<<<<<<<<<<<
* self.__required = required
* self.__cache = UNDEFINED
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1405, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1413, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___children);
@@ -30172,24 +30241,24 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
__pyx_v_self->__pyx___children = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1406
+ /* "dependency_injector/providers.pyx":1414
* self.__root = root
* self.__children = {}
* self.__required = required # <<<<<<<<<<<<<<
* self.__cache = UNDEFINED
* super().__init__()
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1406, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1414, __pyx_L1_error)
__pyx_v_self->__pyx___required = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1407
+ /* "dependency_injector/providers.pyx":1415
* self.__children = {}
* self.__required = required
* self.__cache = UNDEFINED # <<<<<<<<<<<<<<
* super().__init__()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1407, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1415, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___cache);
@@ -30197,14 +30266,14 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
__pyx_v_self->__pyx___cache = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1408
+ /* "dependency_injector/providers.pyx":1416
* self.__required = required
* self.__cache = UNDEFINED
* super().__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1408, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption));
@@ -30212,10 +30281,10 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1408, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1408, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -30230,12 +30299,12 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1408, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1402
+ /* "dependency_injector/providers.pyx":1410
* """
*
* def __init__(self, name=None, Configuration root=None, required=False): # <<<<<<<<<<<<<<
@@ -30257,7 +30326,7 @@ static int __pyx_pf_19dependency_injector_9providers_19ConfigurationOption___ini
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1410
+/* "dependency_injector/providers.pyx":1418
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -30294,16 +30363,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":1413
+ /* "dependency_injector/providers.pyx":1421
* cdef ConfigurationOption copied
*
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1413, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1413, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -30318,14 +30387,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1413, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_ConfigurationOption))))) __PYX_ERR(1, 1413, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_ConfigurationOption))))) __PYX_ERR(1, 1421, __pyx_L1_error)
__pyx_v_copied = ((struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1414
+ /* "dependency_injector/providers.pyx":1422
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -30336,7 +30405,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":1415
+ /* "dependency_injector/providers.pyx":1423
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -30348,7 +30417,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1414
+ /* "dependency_injector/providers.pyx":1422
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -30357,15 +30426,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1417
+ /* "dependency_injector/providers.pyx":1425
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.__name = deepcopy(self.__name, memo)
* copied.__root = deepcopy(self.__root, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1417, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1417, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1425, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
@@ -30373,7 +30442,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_DECREF_SET(__pyx_v_copied, ((struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption *)__pyx_t_2));
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1418
+ /* "dependency_injector/providers.pyx":1426
*
* copied = _memorized_duplicate(self, memo)
* copied.__name = deepcopy(self.__name, memo) # <<<<<<<<<<<<<<
@@ -30382,20 +30451,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
__pyx_t_2 = __pyx_v_self->__pyx___name;
__Pyx_INCREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1418, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1426, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1418, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1426, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 1418, __pyx_L1_error)
+ if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 1426, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_copied->__pyx___name);
__Pyx_DECREF(__pyx_v_copied->__pyx___name);
__pyx_v_copied->__pyx___name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1419
+ /* "dependency_injector/providers.pyx":1427
* copied = _memorized_duplicate(self, memo)
* copied.__name = deepcopy(self.__name, memo)
* copied.__root = deepcopy(self.__root, memo) # <<<<<<<<<<<<<<
@@ -30404,20 +30473,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx___root);
__Pyx_INCREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1419, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1427, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1419, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_19dependency_injector_9providers_Configuration))))) __PYX_ERR(1, 1419, __pyx_L1_error)
+ if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_19dependency_injector_9providers_Configuration))))) __PYX_ERR(1, 1427, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_copied->__pyx___root);
__Pyx_DECREF(((PyObject *)__pyx_v_copied->__pyx___root));
__pyx_v_copied->__pyx___root = ((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1420
+ /* "dependency_injector/providers.pyx":1428
* copied.__name = deepcopy(self.__name, memo)
* copied.__root = deepcopy(self.__root, memo)
* copied.__children = deepcopy(self.__children, memo) # <<<<<<<<<<<<<<
@@ -30426,20 +30495,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
__pyx_t_2 = __pyx_v_self->__pyx___children;
__Pyx_INCREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1420, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1428, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1420, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 1420, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 1428, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_copied->__pyx___children);
__Pyx_DECREF(__pyx_v_copied->__pyx___children);
__pyx_v_copied->__pyx___children = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1421
+ /* "dependency_injector/providers.pyx":1429
* copied.__root = deepcopy(self.__root, memo)
* copied.__children = deepcopy(self.__children, memo)
* copied.__required = self.__required # <<<<<<<<<<<<<<
@@ -30449,17 +30518,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_6 = __pyx_v_self->__pyx___required;
__pyx_v_copied->__pyx___required = __pyx_t_6;
- /* "dependency_injector/providers.pyx":1422
+ /* "dependency_injector/providers.pyx":1430
* copied.__children = deepcopy(self.__children, memo)
* copied.__required = self.__required
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1422, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1430, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":1423
+ /* "dependency_injector/providers.pyx":1431
* copied.__required = self.__required
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -30471,7 +30540,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1410
+ /* "dependency_injector/providers.pyx":1418
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -30494,7 +30563,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1425
+/* "dependency_injector/providers.pyx":1433
* return copied
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -30520,7 +30589,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "dependency_injector/providers.pyx":1426
+ /* "dependency_injector/providers.pyx":1434
*
* def __enter__(self):
* return self # <<<<<<<<<<<<<<
@@ -30532,7 +30601,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1425
+ /* "dependency_injector/providers.pyx":1433
* return copied
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -30547,7 +30616,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1428
+/* "dependency_injector/providers.pyx":1436
* return self
*
* def __exit__(self, *exc_info): # <<<<<<<<<<<<<<
@@ -30585,7 +30654,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1431
+/* "dependency_injector/providers.pyx":1439
* pass
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -30617,7 +30686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":1432
+ /* "dependency_injector/providers.pyx":1440
*
* def __str__(self):
* return represent_provider(provider=self, provides=self.get_name()) # <<<<<<<<<<<<<<
@@ -30625,7 +30694,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def __getattr__(self, item):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1432, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -30639,17 +30708,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1432, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1432, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1431
+ /* "dependency_injector/providers.pyx":1439
* pass
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -30670,7 +30739,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1434
+/* "dependency_injector/providers.pyx":1442
* return represent_provider(provider=self, provides=self.get_name())
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -30707,14 +30776,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":1435
+ /* "dependency_injector/providers.pyx":1443
*
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'): # <<<<<<<<<<<<<<
* raise AttributeError(
* '\'{cls}\' object has no attribute '
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -30728,17 +30797,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -30752,70 +30821,70 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1435, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1443, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":1438
+ /* "dependency_injector/providers.pyx":1446
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=item))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1438, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1438, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1438, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1438, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 1438, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1439
+ /* "dependency_injector/providers.pyx":1447
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=item)) # <<<<<<<<<<<<<<
*
* child = self.__children.get(item)
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_item) < 0) __PYX_ERR(1, 1438, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_item) < 0) __PYX_ERR(1, 1446, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1438
+ /* "dependency_injector/providers.pyx":1446
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=item))
*
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1438, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1436
+ /* "dependency_injector/providers.pyx":1444
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'):
* raise AttributeError( # <<<<<<<<<<<<<<
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1436, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1444, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1436, __pyx_L1_error)
+ __PYX_ERR(1, 1444, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1435
+ /* "dependency_injector/providers.pyx":1443
*
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'): # <<<<<<<<<<<<<<
@@ -30824,7 +30893,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1441
+ /* "dependency_injector/providers.pyx":1449
* attribute_name=item))
*
* child = self.__children.get(item) # <<<<<<<<<<<<<<
@@ -30833,14 +30902,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 1441, __pyx_L1_error)
+ __PYX_ERR(1, 1449, __pyx_L1_error)
}
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1441, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_child = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1442
+ /* "dependency_injector/providers.pyx":1450
*
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -30851,32 +30920,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_5 = (__pyx_t_1 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":1443
+ /* "dependency_injector/providers.pyx":1451
* child = self.__children.get(item)
* if child is None:
* child_name = self.__name + (item,) # <<<<<<<<<<<<<<
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1443, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1451, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_item);
- __pyx_t_6 = PyNumber_Add(__pyx_v_self->__pyx___name, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1443, __pyx_L1_error)
+ __pyx_t_6 = PyNumber_Add(__pyx_v_self->__pyx___name, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1451, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_child_name = ((PyObject*)__pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1444
+ /* "dependency_injector/providers.pyx":1452
* if child is None:
* child_name = self.__name + (item,)
* child = ConfigurationOption(child_name, self.__root) # <<<<<<<<<<<<<<
* self.__children[item] = child
* return child
*/
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1444, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_v_child_name);
__Pyx_GIVEREF(__pyx_v_child_name);
@@ -30884,13 +30953,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___root));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self->__pyx___root));
PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_self->__pyx___root));
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1444, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_child, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1445
+ /* "dependency_injector/providers.pyx":1453
* child_name = self.__name + (item,)
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child # <<<<<<<<<<<<<<
@@ -30899,11 +30968,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1445, __pyx_L1_error)
+ __PYX_ERR(1, 1453, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1445, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1453, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1442
+ /* "dependency_injector/providers.pyx":1450
*
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -30912,7 +30981,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1446
+ /* "dependency_injector/providers.pyx":1454
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child
* return child # <<<<<<<<<<<<<<
@@ -30924,7 +30993,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = __pyx_v_child;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1434
+ /* "dependency_injector/providers.pyx":1442
* return represent_provider(provider=self, provides=self.get_name())
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -30948,7 +31017,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1448
+/* "dependency_injector/providers.pyx":1456
* return child
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -30983,7 +31052,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":1449
+ /* "dependency_injector/providers.pyx":1457
*
* def __getitem__(self, item):
* child = self.__children.get(item) # <<<<<<<<<<<<<<
@@ -30992,14 +31061,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 1449, __pyx_L1_error)
+ __PYX_ERR(1, 1457, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1449, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_child = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1450
+ /* "dependency_injector/providers.pyx":1458
* def __getitem__(self, item):
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -31010,32 +31079,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":1451
+ /* "dependency_injector/providers.pyx":1459
* child = self.__children.get(item)
* if child is None:
* child_name = self.__name + (item,) # <<<<<<<<<<<<<<
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1451, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_item);
- __pyx_t_4 = PyNumber_Add(__pyx_v_self->__pyx___name, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1451, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_Add(__pyx_v_self->__pyx___name, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_child_name = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1452
+ /* "dependency_injector/providers.pyx":1460
* if child is None:
* child_name = self.__name + (item,)
* child = ConfigurationOption(child_name, self.__root) # <<<<<<<<<<<<<<
* self.__children[item] = child
* return child
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1452, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_child_name);
__Pyx_GIVEREF(__pyx_v_child_name);
@@ -31043,13 +31112,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___root));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self->__pyx___root));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self->__pyx___root));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1452, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_child, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1453
+ /* "dependency_injector/providers.pyx":1461
* child_name = self.__name + (item,)
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child # <<<<<<<<<<<<<<
@@ -31058,11 +31127,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1453, __pyx_L1_error)
+ __PYX_ERR(1, 1461, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1453, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1461, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1450
+ /* "dependency_injector/providers.pyx":1458
* def __getitem__(self, item):
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -31071,7 +31140,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1454
+ /* "dependency_injector/providers.pyx":1462
* child = ConfigurationOption(child_name, self.__root)
* self.__children[item] = child
* return child # <<<<<<<<<<<<<<
@@ -31083,7 +31152,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = __pyx_v_child;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1448
+ /* "dependency_injector/providers.pyx":1456
* return child
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -31105,7 +31174,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1456
+/* "dependency_injector/providers.pyx":1464
* return child
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -31140,7 +31209,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_19ConfigurationOption_15_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -31160,7 +31229,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -31168,13 +31237,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -31185,7 +31254,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -31208,21 +31277,21 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
#endif
}
- /* "dependency_injector/providers.pyx":1458
+ /* "dependency_injector/providers.pyx":1466
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return new instance."""
* if self.__cache is not UNDEFINED: # <<<<<<<<<<<<<<
* return self.__cache
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1458, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = (__pyx_v_self->__pyx___cache != __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":1459
+ /* "dependency_injector/providers.pyx":1467
* """Return new instance."""
* if self.__cache is not UNDEFINED:
* return self.__cache # <<<<<<<<<<<<<<
@@ -31234,7 +31303,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
__pyx_r = __pyx_v_self->__pyx___cache;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1458
+ /* "dependency_injector/providers.pyx":1466
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return new instance."""
* if self.__cache is not UNDEFINED: # <<<<<<<<<<<<<<
@@ -31243,16 +31312,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
*/
}
- /* "dependency_injector/providers.pyx":1461
+ /* "dependency_injector/providers.pyx":1469
* return self.__cache
*
* value = self.__root.get(self._get_self_name(), self.__required) # <<<<<<<<<<<<<<
* self.__cache = value
* return value
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -31266,10 +31335,10 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___required); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___required); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
@@ -31286,7 +31355,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_6};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -31296,7 +31365,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_6};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -31304,7 +31373,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -31315,7 +31384,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_5, __pyx_t_6);
__pyx_t_3 = 0;
__pyx_t_6 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1461, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1469, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -31323,7 +31392,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1462
+ /* "dependency_injector/providers.pyx":1470
*
* value = self.__root.get(self._get_self_name(), self.__required)
* self.__cache = value # <<<<<<<<<<<<<<
@@ -31336,7 +31405,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
__Pyx_DECREF(__pyx_v_self->__pyx___cache);
__pyx_v_self->__pyx___cache = __pyx_v_value;
- /* "dependency_injector/providers.pyx":1463
+ /* "dependency_injector/providers.pyx":1471
* value = self.__root.get(self._get_self_name(), self.__required)
* self.__cache = value
* return value # <<<<<<<<<<<<<<
@@ -31348,7 +31417,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ConfigurationOption_
__pyx_r = __pyx_v_value;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1456
+ /* "dependency_injector/providers.pyx":1464
* return child
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -31408,11 +31477,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1456, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 1464, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1456, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 1464, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -31425,14 +31494,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1456, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1464, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1456, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1456, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 1464, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 1464, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_19ConfigurationOption_14_provide(((struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -31453,7 +31522,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_19ConfigurationOption__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1456, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_19ConfigurationOption__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -31470,7 +31539,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1465
+/* "dependency_injector/providers.pyx":1473
* return value
*
* def _get_self_name(self): # <<<<<<<<<<<<<<
@@ -31492,7 +31561,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_2generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":1467
+/* "dependency_injector/providers.pyx":1475
* def _get_self_name(self):
* return '.'.join(
* segment() if is_provider(segment) else segment for segment in self.__name # <<<<<<<<<<<<<<
@@ -31512,7 +31581,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_7_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 1467, __pyx_L1_error)
+ __PYX_ERR(1, 1475, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -31520,7 +31589,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_2generator21, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_get_self_name_locals_genexpr, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_2generator21, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_get_self_name_locals_genexpr, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1475, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -31559,19 +31628,19 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1467, __pyx_L1_error)
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(1, 1467, __pyx_L1_error) }
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(1, 1475, __pyx_L1_error) }
if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->__pyx___name == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 1467, __pyx_L1_error)
+ __PYX_ERR(1, 1475, __pyx_L1_error)
}
__pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->__pyx___name; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
for (;;) {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 1475, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_segment);
@@ -31592,7 +31661,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = __pyx_t_4;
@@ -31617,7 +31686,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__pyx_cur_scope->__pyx_t_0 = 0;
__Pyx_XGOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1475, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
@@ -31643,7 +31712,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1465
+/* "dependency_injector/providers.pyx":1473
* return value
*
* def _get_self_name(self): # <<<<<<<<<<<<<<
@@ -31653,6 +31722,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption_16_get_self_name(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption *__pyx_v_self) {
struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name *__pyx_cur_scope;
+ PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_2generator21 = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -31665,7 +31735,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 1465, __pyx_L1_error)
+ __PYX_ERR(1, 1473, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -31673,7 +31743,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
- /* "dependency_injector/providers.pyx":1466
+ /* "dependency_injector/providers.pyx":1474
*
* def _get_self_name(self):
* return '.'.join( # <<<<<<<<<<<<<<
@@ -31682,31 +31752,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
__Pyx_XDECREF(__pyx_r);
- /* "dependency_injector/providers.pyx":1467
+ /* "dependency_injector/providers.pyx":1475
* def _get_self_name(self):
* return '.'.join(
* segment() if is_provider(segment) else segment for segment in self.__name # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_1 = __pyx_pf_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1467, __pyx_L1_error)
+ __pyx_t_1 = __pyx_pf_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":1466
+ /* "dependency_injector/providers.pyx":1474
*
* def _get_self_name(self):
* return '.'.join( # <<<<<<<<<<<<<<
* segment() if is_provider(segment) else segment for segment in self.__name
* )
*/
- __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1466, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1465
+ /* "dependency_injector/providers.pyx":1473
* return value
*
* def _get_self_name(self): # <<<<<<<<<<<<<<
@@ -31721,13 +31791,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption._get_self_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_9providers_19ConfigurationOption_14_get_self_name_2generator21);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1471
+/* "dependency_injector/providers.pyx":1479
*
* @property
* def root(self): # <<<<<<<<<<<<<<
@@ -31753,7 +31824,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1472
+ /* "dependency_injector/providers.pyx":1480
* @property
* def root(self):
* return self.__root # <<<<<<<<<<<<<<
@@ -31765,7 +31836,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = ((PyObject *)__pyx_v_self->__pyx___root);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1471
+ /* "dependency_injector/providers.pyx":1479
*
* @property
* def root(self): # <<<<<<<<<<<<<<
@@ -31780,7 +31851,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1474
+/* "dependency_injector/providers.pyx":1482
* return self.__root
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -31813,7 +31884,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_name", 0);
- /* "dependency_injector/providers.pyx":1475
+ /* "dependency_injector/providers.pyx":1483
*
* def get_name(self):
* return '.'.join((self.__root.get_name(), self._get_self_name())) # <<<<<<<<<<<<<<
@@ -31821,7 +31892,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def get_name_segments(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -31835,10 +31906,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -31852,10 +31923,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
@@ -31863,14 +31934,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1475, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1474
+ /* "dependency_injector/providers.pyx":1482
* return self.__root
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -31892,7 +31963,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1477
+/* "dependency_injector/providers.pyx":1485
* return '.'.join((self.__root.get_name(), self._get_self_name()))
*
* def get_name_segments(self): # <<<<<<<<<<<<<<
@@ -31918,7 +31989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_name_segments", 0);
- /* "dependency_injector/providers.pyx":1478
+ /* "dependency_injector/providers.pyx":1486
*
* def get_name_segments(self):
* return self.__name # <<<<<<<<<<<<<<
@@ -31930,7 +32001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1477
+ /* "dependency_injector/providers.pyx":1485
* return '.'.join((self.__root.get_name(), self._get_self_name()))
*
* def get_name_segments(self): # <<<<<<<<<<<<<<
@@ -31945,7 +32016,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1480
+/* "dependency_injector/providers.pyx":1488
* return self.__name
*
* def as_int(self): # <<<<<<<<<<<<<<
@@ -31976,7 +32047,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("as_int", 0);
- /* "dependency_injector/providers.pyx":1481
+ /* "dependency_injector/providers.pyx":1489
*
* def as_int(self):
* return TypedConfigurationOption(int, self) # <<<<<<<<<<<<<<
@@ -31984,7 +32055,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def as_float(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1481, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&PyInt_Type)));
__Pyx_GIVEREF(((PyObject *)(&PyInt_Type)));
@@ -31992,14 +32063,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1481, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1480
+ /* "dependency_injector/providers.pyx":1488
* return self.__name
*
* def as_int(self): # <<<<<<<<<<<<<<
@@ -32019,7 +32090,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1483
+/* "dependency_injector/providers.pyx":1491
* return TypedConfigurationOption(int, self)
*
* def as_float(self): # <<<<<<<<<<<<<<
@@ -32050,7 +32121,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("as_float", 0);
- /* "dependency_injector/providers.pyx":1484
+ /* "dependency_injector/providers.pyx":1492
*
* def as_float(self):
* return TypedConfigurationOption(float, self) # <<<<<<<<<<<<<<
@@ -32058,7 +32129,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def as_(self, callback, *args, **kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1484, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&PyFloat_Type)));
__Pyx_GIVEREF(((PyObject *)(&PyFloat_Type)));
@@ -32066,14 +32137,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1484, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1483
+ /* "dependency_injector/providers.pyx":1491
* return TypedConfigurationOption(int, self)
*
* def as_float(self): # <<<<<<<<<<<<<<
@@ -32093,7 +32164,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1486
+/* "dependency_injector/providers.pyx":1494
* return TypedConfigurationOption(float, self)
*
* def as_(self, callback, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -32146,7 +32217,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "as_") < 0)) __PYX_ERR(1, 1486, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "as_") < 0)) __PYX_ERR(1, 1494, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
goto __pyx_L5_argtuple_error;
@@ -32157,7 +32228,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("as_", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1486, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("as_", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1494, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
@@ -32179,12 +32250,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("as_", 0);
- /* "dependency_injector/providers.pyx":1487
+ /* "dependency_injector/providers.pyx":1495
*
* def as_(self, callback, *args, **kwargs):
* return TypedConfigurationOption(callback, self, *args, **kwargs) # <<<<<<<<<<<<<<
@@ -32192,7 +32264,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def required(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1487, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_callback);
__Pyx_GIVEREF(__pyx_v_callback);
@@ -32200,17 +32272,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1487, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1487, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1495, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1486
+ /* "dependency_injector/providers.pyx":1494
* return TypedConfigurationOption(float, self)
*
* def as_(self, callback, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -32222,6 +32297,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.as_", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -32230,7 +32306,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1489
+/* "dependency_injector/providers.pyx":1497
* return TypedConfigurationOption(callback, self, *args, **kwargs)
*
* def required(self): # <<<<<<<<<<<<<<
@@ -32263,7 +32339,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("required", 0);
- /* "dependency_injector/providers.pyx":1490
+ /* "dependency_injector/providers.pyx":1498
*
* def required(self):
* return self.__class__(self.__name, self.__root, required=True) # <<<<<<<<<<<<<<
@@ -32271,9 +32347,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def is_required(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1490, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1490, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_self->__pyx___name);
__Pyx_GIVEREF(__pyx_v_self->__pyx___name);
@@ -32281,10 +32357,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___root));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self->__pyx___root));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self->__pyx___root));
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1490, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_required, Py_True) < 0) __PYX_ERR(1, 1490, __pyx_L1_error)
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1490, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_required, Py_True) < 0) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -32293,7 +32369,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1489
+ /* "dependency_injector/providers.pyx":1497
* return TypedConfigurationOption(callback, self, *args, **kwargs)
*
* def required(self): # <<<<<<<<<<<<<<
@@ -32315,7 +32391,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1492
+/* "dependency_injector/providers.pyx":1500
* return self.__class__(self.__name, self.__root, required=True)
*
* def is_required(self): # <<<<<<<<<<<<<<
@@ -32345,7 +32421,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_required", 0);
- /* "dependency_injector/providers.pyx":1493
+ /* "dependency_injector/providers.pyx":1501
*
* def is_required(self):
* return self.__required # <<<<<<<<<<<<<<
@@ -32353,13 +32429,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def override(self, value):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___required); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1493, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___required); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1492
+ /* "dependency_injector/providers.pyx":1500
* return self.__class__(self.__name, self.__root, required=True)
*
* def is_required(self): # <<<<<<<<<<<<<<
@@ -32378,7 +32454,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1495
+/* "dependency_injector/providers.pyx":1503
* return self.__required
*
* def override(self, value): # <<<<<<<<<<<<<<
@@ -32415,7 +32491,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":1496
+ /* "dependency_injector/providers.pyx":1504
*
* def override(self, value):
* if isinstance(value, Provider): # <<<<<<<<<<<<<<
@@ -32426,14 +32502,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1497
+ /* "dependency_injector/providers.pyx":1505
* def override(self, value):
* if isinstance(value, Provider):
* raise Error('Configuration option can only be overridden by a value') # <<<<<<<<<<<<<<
* return self.__root.set(self._get_self_name(), value)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1497, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -32447,14 +32523,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Configuration_option_can_only_be) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Configuration_option_can_only_be);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1497, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1497, __pyx_L1_error)
+ __PYX_ERR(1, 1505, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1496
+ /* "dependency_injector/providers.pyx":1504
*
* def override(self, value):
* if isinstance(value, Provider): # <<<<<<<<<<<<<<
@@ -32463,7 +32539,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1498
+ /* "dependency_injector/providers.pyx":1506
* if isinstance(value, Provider):
* raise Error('Configuration option can only be overridden by a value')
* return self.__root.set(self._get_self_name(), value) # <<<<<<<<<<<<<<
@@ -32471,9 +32547,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* def reset_last_overriding(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_set); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___root), __pyx_n_s_set); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_self_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -32487,7 +32563,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -32505,7 +32581,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_value};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -32514,14 +32590,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_value};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -32532,7 +32608,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_v_value);
__pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1498, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -32541,7 +32617,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1495
+ /* "dependency_injector/providers.pyx":1503
* return self.__required
*
* def override(self, value): # <<<<<<<<<<<<<<
@@ -32564,7 +32640,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1500
+/* "dependency_injector/providers.pyx":1508
* return self.__root.set(self._get_self_name(), value)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -32596,14 +32672,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/providers.pyx":1501
+ /* "dependency_injector/providers.pyx":1509
*
* def reset_last_overriding(self):
* raise Error('Configuration option does not support this method') # <<<<<<<<<<<<<<
*
* def reset_override(self):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1501, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
@@ -32617,14 +32693,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Configuration_option_does_not_su) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Configuration_option_does_not_su);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1501, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1501, __pyx_L1_error)
+ __PYX_ERR(1, 1509, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1500
+ /* "dependency_injector/providers.pyx":1508
* return self.__root.set(self._get_self_name(), value)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -32644,7 +32720,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1503
+/* "dependency_injector/providers.pyx":1511
* raise Error('Configuration option does not support this method')
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -32676,14 +32752,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/providers.pyx":1504
+ /* "dependency_injector/providers.pyx":1512
*
* def reset_override(self):
* raise Error('Configuration option does not support this method') # <<<<<<<<<<<<<<
*
* def reset_cache(self):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1504, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
@@ -32697,14 +32773,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Configuration_option_does_not_su) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Configuration_option_does_not_su);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1504, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1504, __pyx_L1_error)
+ __PYX_ERR(1, 1512, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1503
+ /* "dependency_injector/providers.pyx":1511
* raise Error('Configuration option does not support this method')
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -32724,7 +32800,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1506
+/* "dependency_injector/providers.pyx":1514
* raise Error('Configuration option does not support this method')
*
* def reset_cache(self): # <<<<<<<<<<<<<<
@@ -32763,14 +32839,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_cache", 0);
- /* "dependency_injector/providers.pyx":1507
+ /* "dependency_injector/providers.pyx":1515
*
* def reset_cache(self):
* self.__cache = UNDEFINED # <<<<<<<<<<<<<<
*
* for provider in self.__children.values():
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1507, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___cache);
@@ -32778,7 +32854,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_v_self->__pyx___cache = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1509
+ /* "dependency_injector/providers.pyx":1517
* self.__cache = UNDEFINED
*
* for provider in self.__children.values(): # <<<<<<<<<<<<<<
@@ -32787,17 +32863,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 1509, __pyx_L1_error)
+ __PYX_ERR(1, 1517, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1517, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -32805,17 +32881,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1517, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1517, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1509, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -32825,7 +32901,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1509, __pyx_L1_error)
+ else __PYX_ERR(1, 1517, __pyx_L1_error)
}
break;
}
@@ -32834,14 +32910,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1510
+ /* "dependency_injector/providers.pyx":1518
*
* for provider in self.__children.values():
* provider.reset_cache() # <<<<<<<<<<<<<<
*
* for provider in self.overrides:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1510, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -32855,12 +32931,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1510, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1509
+ /* "dependency_injector/providers.pyx":1517
* self.__cache = UNDEFINED
*
* for provider in self.__children.values(): # <<<<<<<<<<<<<<
@@ -32870,22 +32946,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1512
+ /* "dependency_injector/providers.pyx":1520
* provider.reset_cache()
*
* for provider in self.overrides: # <<<<<<<<<<<<<<
* if isinstance(provider, (Configuration, ConfigurationOption)):
* provider.reset_cache()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overrides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overrides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1520, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -32893,17 +32969,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1520, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1520, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1512, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -32913,7 +32989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1512, __pyx_L1_error)
+ else __PYX_ERR(1, 1520, __pyx_L1_error)
}
break;
}
@@ -32922,7 +32998,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1513
+ /* "dependency_injector/providers.pyx":1521
*
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)): # <<<<<<<<<<<<<<
@@ -32943,14 +33019,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":1514
+ /* "dependency_injector/providers.pyx":1522
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)):
* provider.reset_cache() # <<<<<<<<<<<<<<
*
* def update(self, value):
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1514, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -32964,12 +33040,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1514, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1513
+ /* "dependency_injector/providers.pyx":1521
*
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)): # <<<<<<<<<<<<<<
@@ -32978,7 +33054,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1512
+ /* "dependency_injector/providers.pyx":1520
* provider.reset_cache()
*
* for provider in self.overrides: # <<<<<<<<<<<<<<
@@ -32988,7 +33064,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1506
+ /* "dependency_injector/providers.pyx":1514
* raise Error('Configuration option does not support this method')
*
* def reset_cache(self): # <<<<<<<<<<<<<<
@@ -33013,7 +33089,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1516
+/* "dependency_injector/providers.pyx":1524
* provider.reset_cache()
*
* def update(self, value): # <<<<<<<<<<<<<<
@@ -33046,14 +33122,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("update", 0);
- /* "dependency_injector/providers.pyx":1528
+ /* "dependency_injector/providers.pyx":1536
* :rtype: None
* """
* self.override(value) # <<<<<<<<<<<<<<
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False):
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1528, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1536, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -33067,12 +33143,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1528, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1536, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1516
+ /* "dependency_injector/providers.pyx":1524
* provider.reset_cache()
*
* def update(self, value): # <<<<<<<<<<<<<<
@@ -33095,10 +33171,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1530
+/* "dependency_injector/providers.pyx":1538
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
@@ -33120,7 +33196,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filepath,&__pyx_n_s_required,&__pyx_n_s_envs_required,0};
PyObject* values[3] = {0,0,0};
values[1] = __pyx_k__12;
- values[2] = ((PyObject *)Py_False);
+ values[2] = __pyx_k__13;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -33153,7 +33229,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_ini") < 0)) __PYX_ERR(1, 1530, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_ini") < 0)) __PYX_ERR(1, 1538, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -33172,7 +33248,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_ini", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1530, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_ini", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1538, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -33200,8 +33276,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
- int __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
PyObject *__pyx_t_10 = NULL;
PyObject *__pyx_t_11 = NULL;
int __pyx_t_12;
@@ -33214,7 +33290,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_ini", 0);
- /* "dependency_injector/providers.pyx":1546
+ /* "dependency_injector/providers.pyx":1554
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -33230,77 +33306,77 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":1547
+ /* "dependency_injector/providers.pyx":1555
* """
* try:
* parser = _parse_ini_file( # <<<<<<<<<<<<<<
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_parse_ini_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1547, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_parse_ini_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1555, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1548
+ /* "dependency_injector/providers.pyx":1556
* try:
* parser = _parse_ini_file(
* filepath, # <<<<<<<<<<<<<<
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
*/
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1547, __pyx_L3_error)
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1555, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_filepath);
__Pyx_GIVEREF(__pyx_v_filepath);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_filepath);
- /* "dependency_injector/providers.pyx":1549
+ /* "dependency_injector/providers.pyx":1557
* parser = _parse_ini_file(
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
* )
* except IOError as exception:
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1549, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1557, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 1549, __pyx_L3_error)
- if (!__pyx_t_8) {
- } else {
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1557, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = (__pyx_v_envs_required != __pyx_t_8);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if ((__pyx_t_9 != 0)) {
__Pyx_INCREF(__pyx_v_envs_required);
__pyx_t_7 = __pyx_v_envs_required;
- goto __pyx_L9_bool_binop_done;
- }
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1549, __pyx_L3_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
- if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
- __Pyx_INCREF(__pyx_t_11);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_10, function);
+ } else {
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1557, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ __pyx_t_11 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+ if (likely(__pyx_t_11)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_10, function);
+ }
}
+ __pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1557, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __pyx_t_7 = __pyx_t_8;
+ __pyx_t_8 = 0;
}
- __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1549, __pyx_L3_error)
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_7 = __pyx_t_9;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_L9_bool_binop_done:;
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_envs_required, __pyx_t_7) < 0) __PYX_ERR(1, 1549, __pyx_L3_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_envs_required, __pyx_t_7) < 0) __PYX_ERR(1, 1557, __pyx_L3_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1547
+ /* "dependency_injector/providers.pyx":1555
* """
* try:
* parser = _parse_ini_file( # <<<<<<<<<<<<<<
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1547, __pyx_L3_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1555, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -33308,7 +33384,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_v_parser = __pyx_t_7;
__pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1546
+ /* "dependency_injector/providers.pyx":1554
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -33327,10 +33403,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/providers.pyx":1551
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ /* "dependency_injector/providers.pyx":1559
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
* except IOError as exception: # <<<<<<<<<<<<<<
* if required is not False \
@@ -33339,14 +33415,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IOError);
if (__pyx_t_12) {
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 1551, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 1559, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__pyx_v_exception = __pyx_t_6;
- /* "dependency_injector/providers.pyx":1552
+ /* "dependency_injector/providers.pyx":1560
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -33357,128 +33433,128 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_14 = (__pyx_t_13 != 0);
if (__pyx_t_14) {
} else {
- __pyx_t_8 = __pyx_t_14;
- goto __pyx_L14_bool_binop_done;
+ __pyx_t_9 = __pyx_t_14;
+ goto __pyx_L12_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":1553
+ /* "dependency_injector/providers.pyx":1561
* except IOError as exception:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1553, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1561, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
__pyx_t_10 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
- __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_10)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_9, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
}
}
- __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
+ __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1553, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1561, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1553, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1561, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (!__pyx_t_14) {
} else {
- goto __pyx_L16_next_and;
+ goto __pyx_L14_next_and;
}
__pyx_t_14 = (__pyx_v_required == Py_True);
__pyx_t_13 = (__pyx_t_14 != 0);
if (__pyx_t_13) {
} else {
- __pyx_t_8 = __pyx_t_13;
- goto __pyx_L14_bool_binop_done;
+ __pyx_t_9 = __pyx_t_13;
+ goto __pyx_L12_bool_binop_done;
}
- __pyx_L16_next_and:;
+ __pyx_L14_next_and:;
- /* "dependency_injector/providers.pyx":1554
+ /* "dependency_injector/providers.pyx":1562
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR): # <<<<<<<<<<<<<<
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_errno); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_errno); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (!__pyx_t_14) {
} else {
__pyx_t_13 = __pyx_t_14;
- goto __pyx_L18_bool_binop_done;
+ goto __pyx_L16_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_errno); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_errno); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1554, __pyx_L5_except_error)
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1562, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_13 = __pyx_t_14;
- __pyx_L18_bool_binop_done:;
+ __pyx_L16_bool_binop_done:;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_14 = (__pyx_t_13 != 0);
- __pyx_t_8 = __pyx_t_14;
- __pyx_L14_bool_binop_done:;
+ __pyx_t_9 = __pyx_t_14;
+ __pyx_L12_bool_binop_done:;
- /* "dependency_injector/providers.pyx":1552
+ /* "dependency_injector/providers.pyx":1560
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
*/
- if (unlikely(__pyx_t_8)) {
+ if (unlikely(__pyx_t_9)) {
- /* "dependency_injector/providers.pyx":1555
+ /* "dependency_injector/providers.pyx":1563
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror) # <<<<<<<<<<<<<<
* raise
* return
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1555, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1555, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1563, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1563, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_9, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
}
}
- __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
+ __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1555, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1563, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_4) < 0) __PYX_ERR(1, 1555, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_4) < 0) __PYX_ERR(1, 1563, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1556
+ /* "dependency_injector/providers.pyx":1564
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise # <<<<<<<<<<<<<<
@@ -33490,9 +33566,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_6, __pyx_t_5);
__pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0;
- __PYX_ERR(1, 1556, __pyx_L5_except_error)
+ __PYX_ERR(1, 1564, __pyx_L5_except_error)
- /* "dependency_injector/providers.pyx":1552
+ /* "dependency_injector/providers.pyx":1560
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -33501,7 +33577,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1557
+ /* "dependency_injector/providers.pyx":1565
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
* return # <<<<<<<<<<<<<<
@@ -33518,7 +33594,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":1546
+ /* "dependency_injector/providers.pyx":1554
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -33539,26 +33615,26 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":1559
+ /* "dependency_injector/providers.pyx":1567
* return
*
* config = {} # <<<<<<<<<<<<<<
* for section in parser.sections():
* config[section] = dict(parser.items(section))
*/
- __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1559, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_config = ((PyObject*)__pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1560
+ /* "dependency_injector/providers.pyx":1568
*
* config = {}
* for section in parser.sections(): # <<<<<<<<<<<<<<
* config[section] = dict(parser.items(section))
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_sections); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_sections); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -33572,16 +33648,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_15 = 0;
__pyx_t_16 = NULL;
} else {
- __pyx_t_15 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_15 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_16 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_16 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 1568, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -33589,17 +33665,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1568, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1568, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1560, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -33609,7 +33685,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1560, __pyx_L1_error)
+ else __PYX_ERR(1, 1568, __pyx_L1_error)
}
break;
}
@@ -33618,14 +33694,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF_SET(__pyx_v_section, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1561
+ /* "dependency_injector/providers.pyx":1569
* config = {}
* for section in parser.sections():
* config[section] = dict(parser.items(section)) # <<<<<<<<<<<<<<
*
* current_config = self.__call__()
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_items); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1561, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_items); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -33639,16 +33715,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_section) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_section);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1561, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyDict_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1561, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyDict_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(PyDict_SetItem(__pyx_v_config, __pyx_v_section, __pyx_t_7) < 0)) __PYX_ERR(1, 1561, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_config, __pyx_v_section, __pyx_t_7) < 0)) __PYX_ERR(1, 1569, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1560
+ /* "dependency_injector/providers.pyx":1568
*
* config = {}
* for section in parser.sections(): # <<<<<<<<<<<<<<
@@ -33658,14 +33734,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1563
+ /* "dependency_injector/providers.pyx":1571
* config[section] = dict(parser.items(section))
*
* current_config = self.__call__() # <<<<<<<<<<<<<<
* if not current_config:
* current_config = {}
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1563, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -33679,36 +33755,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1563, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_current_config = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1564
+ /* "dependency_injector/providers.pyx":1572
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
* current_config = {}
* self.override(merge_dicts(current_config, config))
*/
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 1564, __pyx_L1_error)
- __pyx_t_14 = ((!__pyx_t_8) != 0);
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 1572, __pyx_L1_error)
+ __pyx_t_14 = ((!__pyx_t_9) != 0);
if (__pyx_t_14) {
- /* "dependency_injector/providers.pyx":1565
+ /* "dependency_injector/providers.pyx":1573
* current_config = self.__call__()
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
* self.override(merge_dicts(current_config, config))
*
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1565, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1573, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1564
+ /* "dependency_injector/providers.pyx":1572
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
@@ -33717,24 +33793,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1566
+ /* "dependency_injector/providers.pyx":1574
* if not current_config:
* current_config = {}
* self.override(merge_dicts(current_config, config)) # <<<<<<<<<<<<<<
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False):
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED):
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1566, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1566, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = NULL;
+ __pyx_t_8 = NULL;
__pyx_t_12 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
- if (likely(__pyx_t_9)) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_12 = 1;
@@ -33742,25 +33818,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1566, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_config};
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1574, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1566, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_config};
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1574, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1566, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__pyx_t_9) {
- __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
+ if (__pyx_t_8) {
+ __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_current_config);
__Pyx_GIVEREF(__pyx_v_current_config);
@@ -33768,7 +33844,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(__pyx_v_config);
__Pyx_GIVEREF(__pyx_v_config);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_12, __pyx_v_config);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1566, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -33786,15 +33862,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1566, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1530
+ /* "dependency_injector/providers.pyx":1538
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
@@ -33807,7 +33883,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -33823,10 +33899,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1568
+/* "dependency_injector/providers.pyx":1576
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
@@ -33848,9 +33924,9 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filepath,&__pyx_n_s_required,&__pyx_n_s_loader,&__pyx_n_s_envs_required,0};
PyObject* values[4] = {0,0,0,0};
- values[1] = __pyx_k__13;
+ values[1] = __pyx_k__14;
values[2] = ((PyObject *)Py_None);
- values[3] = ((PyObject *)Py_False);
+ values[3] = __pyx_k__15;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -33891,7 +33967,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml") < 0)) __PYX_ERR(1, 1568, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml") < 0)) __PYX_ERR(1, 1576, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -33913,7 +33989,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_yaml", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1568, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_yaml", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1576, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -33959,28 +34035,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_RefNannySetupContext("from_yaml", 0);
__Pyx_INCREF(__pyx_v_loader);
- /* "dependency_injector/providers.pyx":1587
+ /* "dependency_injector/providers.pyx":1595
* :rtype: None
* """
* if yaml is None: # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to load yaml configuration - PyYAML is not installed. '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1587, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1588
+ /* "dependency_injector/providers.pyx":1596
* """
* if yaml is None:
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to load yaml configuration - PyYAML is not installed. '
* 'Install PyYAML or install Dependency Injector with yaml extras: '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1588, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1596, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -33994,14 +34070,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Unable_to_load_yaml_configuratio) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Unable_to_load_yaml_configuratio);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1588, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1596, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1588, __pyx_L1_error)
+ __PYX_ERR(1, 1596, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1587
+ /* "dependency_injector/providers.pyx":1595
* :rtype: None
* """
* if yaml is None: # <<<<<<<<<<<<<<
@@ -34010,7 +34086,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1594
+ /* "dependency_injector/providers.pyx":1602
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -34021,19 +34097,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":1595
+ /* "dependency_injector/providers.pyx":1603
*
* if loader is None:
* loader = YamlLoader # <<<<<<<<<<<<<<
*
* try:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YamlLoader); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1595, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YamlLoader); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1603, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_loader, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1594
+ /* "dependency_injector/providers.pyx":1602
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -34042,7 +34118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1597
+ /* "dependency_injector/providers.pyx":1605
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -34058,7 +34134,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGOTREF(__pyx_t_8);
/*try:*/ {
- /* "dependency_injector/providers.pyx":1598
+ /* "dependency_injector/providers.pyx":1606
*
* try:
* with open(filepath) as opened_file: # <<<<<<<<<<<<<<
@@ -34066,11 +34142,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* except IOError as exception:
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1598, __pyx_L5_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1606, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1598, __pyx_L5_error)
+ __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1606, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1598, __pyx_L11_error)
+ __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1606, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -34084,7 +34160,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1598, __pyx_L11_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1606, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __pyx_t_4;
@@ -34102,14 +34178,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_v_opened_file = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1599
+ /* "dependency_injector/providers.pyx":1607
* try:
* with open(filepath) as opened_file:
* config_content = opened_file.read() # <<<<<<<<<<<<<<
* except IOError as exception:
* if required is not False \
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_opened_file, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1599, __pyx_L15_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_opened_file, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1607, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -34123,13 +34199,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1599, __pyx_L15_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1607, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_config_content = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1598
+ /* "dependency_injector/providers.pyx":1606
*
* try:
* with open(filepath) as opened_file: # <<<<<<<<<<<<<<
@@ -34148,20 +34224,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(1, 1598, __pyx_L17_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(1, 1606, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1598, __pyx_L17_except_error)
+ __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1606, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 1598, __pyx_L17_except_error)
+ if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 1606, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (__pyx_t_2 < 0) __PYX_ERR(1, 1598, __pyx_L17_except_error)
+ if (__pyx_t_2 < 0) __PYX_ERR(1, 1606, __pyx_L17_except_error)
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_5);
@@ -34169,7 +34245,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_4);
__pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0;
- __PYX_ERR(1, 1598, __pyx_L17_except_error)
+ __PYX_ERR(1, 1606, __pyx_L17_except_error)
}
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -34195,7 +34271,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (__pyx_t_9) {
__pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 1598, __pyx_L5_error)
+ if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 1606, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -34210,7 +34286,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_L24:;
}
- /* "dependency_injector/providers.pyx":1597
+ /* "dependency_injector/providers.pyx":1605
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -34228,7 +34304,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1600
+ /* "dependency_injector/providers.pyx":1608
* with open(filepath) as opened_file:
* config_content = opened_file.read()
* except IOError as exception: # <<<<<<<<<<<<<<
@@ -34238,14 +34314,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IOError);
if (__pyx_t_15) {
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(1, 1600, __pyx_L7_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(1, 1608, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__pyx_v_exception = __pyx_t_1;
- /* "dependency_injector/providers.pyx":1601
+ /* "dependency_injector/providers.pyx":1609
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -34260,14 +34336,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L28_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":1602
+ /* "dependency_injector/providers.pyx":1610
* except IOError as exception:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
*/
- __pyx_t_17 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1602, __pyx_L7_except_error)
+ __pyx_t_17 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1610, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_18 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
@@ -34281,10 +34357,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_10 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1602, __pyx_L7_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1610, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1602, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1610, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
if (!__pyx_t_16) {
} else {
@@ -34299,37 +34375,37 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_L30_next_and:;
- /* "dependency_injector/providers.pyx":1603
+ /* "dependency_injector/providers.pyx":1611
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR): # <<<<<<<<<<<<<<
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
*/
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (!__pyx_t_16) {
} else {
__pyx_t_2 = __pyx_t_16;
goto __pyx_L32_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1603, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 1611, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_2 = __pyx_t_16;
__pyx_L32_bool_binop_done:;
@@ -34338,7 +34414,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_3 = __pyx_t_16;
__pyx_L28_bool_binop_done:;
- /* "dependency_injector/providers.pyx":1601
+ /* "dependency_injector/providers.pyx":1609
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -34347,16 +34423,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1604
+ /* "dependency_injector/providers.pyx":1612
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror) # <<<<<<<<<<<<<<
* raise
* return
*/
- __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1604, __pyx_L7_except_error)
+ __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1612, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1604, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1612, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_19 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
@@ -34371,13 +34447,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_10 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_19, __pyx_t_18) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_18);
__Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1604, __pyx_L7_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1612, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_10) < 0) __PYX_ERR(1, 1604, __pyx_L7_except_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_10) < 0) __PYX_ERR(1, 1612, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1605
+ /* "dependency_injector/providers.pyx":1613
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise # <<<<<<<<<<<<<<
@@ -34389,9 +34465,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_5);
__pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0;
- __PYX_ERR(1, 1605, __pyx_L7_except_error)
+ __PYX_ERR(1, 1613, __pyx_L7_except_error)
- /* "dependency_injector/providers.pyx":1601
+ /* "dependency_injector/providers.pyx":1609
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -34400,7 +34476,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1606
+ /* "dependency_injector/providers.pyx":1614
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
* return # <<<<<<<<<<<<<<
@@ -34417,7 +34493,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
- /* "dependency_injector/providers.pyx":1597
+ /* "dependency_injector/providers.pyx":1605
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -34438,86 +34514,86 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_L10_try_end:;
}
- /* "dependency_injector/providers.pyx":1608
+ /* "dependency_injector/providers.pyx":1616
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1608, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":1609
+ /* "dependency_injector/providers.pyx":1617
*
* config_content = _resolve_config_env_markers(
* config_content, # <<<<<<<<<<<<<<
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
*/
- if (unlikely(!__pyx_v_config_content)) { __Pyx_RaiseUnboundLocalError("config_content"); __PYX_ERR(1, 1609, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_config_content)) { __Pyx_RaiseUnboundLocalError("config_content"); __PYX_ERR(1, 1617, __pyx_L1_error) }
- /* "dependency_injector/providers.pyx":1608
+ /* "dependency_injector/providers.pyx":1616
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1608, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_config_content);
__Pyx_GIVEREF(__pyx_v_config_content);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_config_content);
- /* "dependency_injector/providers.pyx":1610
+ /* "dependency_injector/providers.pyx":1618
* config_content = _resolve_config_env_markers(
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
* )
* config = yaml.load(config_content, loader)
*/
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1610, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1618, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 1610, __pyx_L1_error)
- if (!__pyx_t_3) {
- } else {
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1618, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_17);
+ __pyx_t_3 = (__pyx_v_envs_required != __pyx_t_17);
+ __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+ if ((__pyx_t_3 != 0)) {
__Pyx_INCREF(__pyx_v_envs_required);
__pyx_t_10 = __pyx_v_envs_required;
- goto __pyx_L34_bool_binop_done;
- }
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1610, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_18);
- __pyx_t_19 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) {
- __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18);
- if (likely(__pyx_t_19)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
- __Pyx_INCREF(__pyx_t_19);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_18, function);
+ } else {
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1618, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_18);
+ __pyx_t_19 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) {
+ __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18);
+ if (likely(__pyx_t_19)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
+ __Pyx_INCREF(__pyx_t_19);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_18, function);
+ }
}
+ __pyx_t_17 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_18);
+ __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+ if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1618, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_17);
+ __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+ __pyx_t_10 = __pyx_t_17;
+ __pyx_t_17 = 0;
}
- __pyx_t_17 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_18);
- __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
- if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 1610, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __Pyx_INCREF(__pyx_t_17);
- __pyx_t_10 = __pyx_t_17;
- __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_L34_bool_binop_done:;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_envs_required, __pyx_t_10) < 0) __PYX_ERR(1, 1610, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_envs_required, __pyx_t_10) < 0) __PYX_ERR(1, 1618, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1608
+ /* "dependency_injector/providers.pyx":1616
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1608, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -34525,16 +34601,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF_SET(__pyx_v_config_content, __pyx_t_10);
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1612
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ /* "dependency_injector/providers.pyx":1620
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
* config = yaml.load(config_content, loader) # <<<<<<<<<<<<<<
*
* current_config = self.__call__()
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_yaml); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_yaml); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -34552,7 +34628,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_config_content, __pyx_v_loader};
- __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_10);
} else
@@ -34560,13 +34636,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_config_content, __pyx_v_loader};
- __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_10);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -34577,7 +34653,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(__pyx_v_loader);
__Pyx_GIVEREF(__pyx_v_loader);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_15, __pyx_v_loader);
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1612, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1620, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -34585,14 +34661,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_v_config = __pyx_t_10;
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1614
+ /* "dependency_injector/providers.pyx":1622
* config = yaml.load(config_content, loader)
*
* current_config = self.__call__() # <<<<<<<<<<<<<<
* if not current_config:
* current_config = {}
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1614, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1622, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -34606,36 +34682,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1614, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1622, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_current_config = __pyx_t_10;
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1615
+ /* "dependency_injector/providers.pyx":1623
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
* current_config = {}
* self.override(merge_dicts(current_config, config))
*/
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 1615, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 1623, __pyx_L1_error)
__pyx_t_16 = ((!__pyx_t_3) != 0);
if (__pyx_t_16) {
- /* "dependency_injector/providers.pyx":1616
+ /* "dependency_injector/providers.pyx":1624
* current_config = self.__call__()
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
* self.override(merge_dicts(current_config, config))
*
*/
- __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1616, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_10);
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1615
+ /* "dependency_injector/providers.pyx":1623
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
@@ -34644,16 +34720,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1617
+ /* "dependency_injector/providers.pyx":1625
* if not current_config:
* current_config = {}
* self.override(merge_dicts(current_config, config)) # <<<<<<<<<<<<<<
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_17 = NULL;
__pyx_t_15 = 0;
@@ -34670,7 +34746,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -34678,13 +34754,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_18 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __pyx_t_18 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
if (__pyx_t_17) {
__Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __pyx_t_17 = NULL;
@@ -34695,7 +34771,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(__pyx_v_config);
__Pyx_GIVEREF(__pyx_v_config);
PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_15, __pyx_v_config);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
}
@@ -34713,15 +34789,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_10 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1617, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1625, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":1568
+ /* "dependency_injector/providers.pyx":1576
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
@@ -34751,7 +34827,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1619
+/* "dependency_injector/providers.pyx":1627
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
@@ -34777,7 +34853,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_settings,&__pyx_n_s_required,0};
PyObject* values[2] = {0,0};
- values[1] = __pyx_k__14;
+ values[1] = __pyx_k__16;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -34802,7 +34878,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "from_pydantic") < 0)) __PYX_ERR(1, 1619, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "from_pydantic") < 0)) __PYX_ERR(1, 1627, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -34818,7 +34894,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_pydantic", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1619, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_pydantic", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1627, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_pydantic", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -34850,28 +34926,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_pydantic", 0);
- /* "dependency_injector/providers.pyx":1635
+ /* "dependency_injector/providers.pyx":1643
* :rtype: None
* """
* if pydantic is None: # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to load pydantic configuration - pydantic is not installed. '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1635, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1636
+ /* "dependency_injector/providers.pyx":1644
* """
* if pydantic is None:
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to load pydantic configuration - pydantic is not installed. '
* 'Install pydantic or install Dependency Injector with pydantic extras: '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1636, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -34885,14 +34961,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Unable_to_load_pydantic_configur) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Unable_to_load_pydantic_configur);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1636, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1636, __pyx_L1_error)
+ __PYX_ERR(1, 1644, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1635
+ /* "dependency_injector/providers.pyx":1643
* :rtype: None
* """
* if pydantic is None: # <<<<<<<<<<<<<<
@@ -34901,7 +34977,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1642
+ /* "dependency_injector/providers.pyx":1650
* )
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -34910,7 +34986,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
__pyx_t_1 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 1642, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 1650, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = (__pyx_t_2 != 0);
if (__pyx_t_6) {
@@ -34918,38 +34994,38 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_3 = __pyx_t_6;
goto __pyx_L5_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1642, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1642, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_6 = PyObject_IsSubclass(__pyx_v_settings, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 1642, __pyx_L1_error)
+ __pyx_t_6 = PyObject_IsSubclass(__pyx_v_settings, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 1650, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_2 = (__pyx_t_6 != 0);
__pyx_t_3 = __pyx_t_2;
__pyx_L5_bool_binop_done:;
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":1643
+ /* "dependency_injector/providers.pyx":1651
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings):
* raise Error( # <<<<<<<<<<<<<<
* 'Got settings class, but expect instance: '
* 'instead "{0}" use "{0}()"'.format(settings.__name__)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1643, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":1645
+ /* "dependency_injector/providers.pyx":1653
* raise Error(
* 'Got settings class, but expect instance: '
* 'instead "{0}" use "{0}()"'.format(settings.__name__) # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Got_settings_class_but_expect_in, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1645, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Got_settings_class_but_expect_in, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1653, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1645, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1653, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -34964,7 +35040,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1645, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1653, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
@@ -34980,14 +35056,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1643, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 1643, __pyx_L1_error)
+ __PYX_ERR(1, 1651, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1642
+ /* "dependency_injector/providers.pyx":1650
* )
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -34996,41 +35072,41 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1648
+ /* "dependency_injector/providers.pyx":1656
* )
*
* if not isinstance(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1648, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1656, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1648, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1656, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1648, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 1656, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":1649
+ /* "dependency_injector/providers.pyx":1657
*
* if not isinstance(settings, pydantic.BaseSettings):
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
* 'got {0} instead'.format(settings)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1649, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1651
+ /* "dependency_injector/providers.pyx":1659
* raise Error(
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
* 'got {0} instead'.format(settings) # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_recognize_settings_ins, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1651, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_recognize_settings_ins, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1659, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -35044,7 +35120,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_settings) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_settings);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1651, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1659, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
@@ -35060,14 +35136,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1649, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1649, __pyx_L1_error)
+ __PYX_ERR(1, 1657, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1648
+ /* "dependency_injector/providers.pyx":1656
* )
*
* if not isinstance(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -35076,36 +35152,39 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1654
+ /* "dependency_injector/providers.pyx":1662
* )
*
* self.from_dict(settings.dict(**kwargs), required=required) # <<<<<<<<<<<<<<
*
* def from_dict(self, options, required=UNDEFINED):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1654, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_dict_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1654, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_dict_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1654, __pyx_L1_error)
+ __pyx_t_5 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1654, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
- __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1654, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 1654, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1654, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1662, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1662, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 1662, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1662, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1619
+ /* "dependency_injector/providers.pyx":1627
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
@@ -35131,7 +35210,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1656
+/* "dependency_injector/providers.pyx":1664
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -35154,7 +35233,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_options,&__pyx_n_s_required,0};
PyObject* values[2] = {0,0};
- values[1] = __pyx_k__15;
+ values[1] = __pyx_k__17;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -35179,7 +35258,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_dict") < 0)) __PYX_ERR(1, 1656, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_dict") < 0)) __PYX_ERR(1, 1664, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -35195,7 +35274,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_dict", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1656, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_dict", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1664, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -35230,7 +35309,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_dict", 0);
- /* "dependency_injector/providers.pyx":1669
+ /* "dependency_injector/providers.pyx":1677
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35245,14 +35324,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":1670
+ /* "dependency_injector/providers.pyx":1678
* """
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and not options:
* raise ValueError('Can not use empty dictionary')
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1670, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -35266,10 +35345,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1670, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 1670, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 1678, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (!__pyx_t_3) {
} else {
@@ -35284,19 +35363,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_L6_next_and:;
- /* "dependency_injector/providers.pyx":1671
+ /* "dependency_injector/providers.pyx":1679
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and not options: # <<<<<<<<<<<<<<
* raise ValueError('Can not use empty dictionary')
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_options); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1671, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_options); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 1679, __pyx_L1_error)
__pyx_t_3 = ((!__pyx_t_2) != 0);
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
- /* "dependency_injector/providers.pyx":1669
+ /* "dependency_injector/providers.pyx":1677
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35305,20 +35384,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":1672
+ /* "dependency_injector/providers.pyx":1680
* and (self._is_strict_mode_enabled() or required is True) \
* and not options:
* raise ValueError('Can not use empty dictionary') # <<<<<<<<<<<<<<
*
* try:
*/
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1672, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1680, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 1672, __pyx_L1_error)
+ __PYX_ERR(1, 1680, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1669
+ /* "dependency_injector/providers.pyx":1677
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35327,7 +35406,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1674
+ /* "dependency_injector/providers.pyx":1682
* raise ValueError('Can not use empty dictionary')
*
* try: # <<<<<<<<<<<<<<
@@ -35343,14 +35422,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "dependency_injector/providers.pyx":1675
+ /* "dependency_injector/providers.pyx":1683
*
* try:
* current_config = self.__call__() # <<<<<<<<<<<<<<
* except Error:
* current_config = {}
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1675, __pyx_L8_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1683, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -35364,13 +35443,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1675, __pyx_L8_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1683, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_current_config = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1674
+ /* "dependency_injector/providers.pyx":1682
* raise ValueError('Can not use empty dictionary')
*
* try: # <<<<<<<<<<<<<<
@@ -35379,7 +35458,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1679
+ /* "dependency_injector/providers.pyx":1687
* current_config = {}
* else:
* if not current_config: # <<<<<<<<<<<<<<
@@ -35387,23 +35466,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*
*/
/*else:*/ {
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1679, __pyx_L10_except_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1687, __pyx_L10_except_error)
__pyx_t_3 = ((!__pyx_t_1) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":1680
+ /* "dependency_injector/providers.pyx":1688
* else:
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
*
* self.override(merge_dicts(current_config, options))
*/
- __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1680, __pyx_L10_except_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1688, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1679
+ /* "dependency_injector/providers.pyx":1687
* current_config = {}
* else:
* if not current_config: # <<<<<<<<<<<<<<
@@ -35421,7 +35500,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1676
+ /* "dependency_injector/providers.pyx":1684
* try:
* current_config = self.__call__()
* except Error: # <<<<<<<<<<<<<<
@@ -35429,7 +35508,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
* else:
*/
__Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Error); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1676, __pyx_L10_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_Error); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1684, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_10);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -35437,19 +35516,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0;
if (__pyx_t_11) {
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(1, 1676, __pyx_L10_except_error)
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(1, 1684, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1677
+ /* "dependency_injector/providers.pyx":1685
* current_config = self.__call__()
* except Error:
* current_config = {} # <<<<<<<<<<<<<<
* else:
* if not current_config:
*/
- __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1677, __pyx_L10_except_error)
+ __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1685, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_XDECREF_SET(__pyx_v_current_config, __pyx_t_10);
__pyx_t_10 = 0;
@@ -35461,7 +35540,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L10_except_error;
__pyx_L10_except_error:;
- /* "dependency_injector/providers.pyx":1674
+ /* "dependency_injector/providers.pyx":1682
* raise ValueError('Can not use empty dictionary')
*
* try: # <<<<<<<<<<<<<<
@@ -35481,16 +35560,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_L13_try_end:;
}
- /* "dependency_injector/providers.pyx":1682
+ /* "dependency_injector/providers.pyx":1690
* current_config = {}
*
* self.override(merge_dicts(current_config, options)) # <<<<<<<<<<<<<<
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED):
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_12 = NULL;
__pyx_t_11 = 0;
@@ -35507,7 +35586,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_current_config, __pyx_v_options};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
@@ -35515,13 +35594,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_current_config, __pyx_v_options};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
- __pyx_t_13 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_12) {
__Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
@@ -35532,7 +35611,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(__pyx_v_options);
__Pyx_GIVEREF(__pyx_v_options);
PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_11, __pyx_v_options);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -35550,12 +35629,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1682, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1656
+ /* "dependency_injector/providers.pyx":1664
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -35582,7 +35661,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1684
+/* "dependency_injector/providers.pyx":1692
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -35606,8 +35685,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_default,&__pyx_n_s_required,0};
PyObject* values[3] = {0,0,0};
- values[1] = __pyx_k__17;
- values[2] = __pyx_k__18;
+ values[1] = __pyx_k__19;
+ values[2] = __pyx_k__20;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -35640,7 +35719,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_env") < 0)) __PYX_ERR(1, 1684, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_env") < 0)) __PYX_ERR(1, 1692, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -35659,7 +35738,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ConfigurationOption
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_env", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1684, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_env", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1692, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ConfigurationOption.from_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -35689,19 +35768,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_env", 0);
- /* "dependency_injector/providers.pyx":1698
+ /* "dependency_injector/providers.pyx":1706
* :rtype: None
* """
* value = os.environ.get(name, default) # <<<<<<<<<<<<<<
*
* if value is UNDEFINED:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_environ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_environ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -35719,7 +35798,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_default};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -35727,13 +35806,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_default};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -35744,7 +35823,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(__pyx_v_default);
__Pyx_GIVEREF(__pyx_v_default);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_default);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1698, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -35752,21 +35831,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1700
+ /* "dependency_injector/providers.pyx":1708
* value = os.environ.get(name, default)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1700, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = (__pyx_v_value == __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":1701
+ /* "dependency_injector/providers.pyx":1709
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35781,14 +35860,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
goto __pyx_L5_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":1702
+ /* "dependency_injector/providers.pyx":1710
* if value is UNDEFINED:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True): # <<<<<<<<<<<<<<
* raise ValueError('Environment variable "{0}" is undefined'.format(name))
* value = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1702, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1710, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -35802,10 +35881,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1702, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1710, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 1702, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 1710, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_8) {
} else {
@@ -35817,7 +35896,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__pyx_t_7 = __pyx_t_6;
__pyx_L5_bool_binop_done:;
- /* "dependency_injector/providers.pyx":1701
+ /* "dependency_injector/providers.pyx":1709
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35826,14 +35905,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_t_7)) {
- /* "dependency_injector/providers.pyx":1703
+ /* "dependency_injector/providers.pyx":1711
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True):
* raise ValueError('Environment variable "{0}" is undefined'.format(name)) # <<<<<<<<<<<<<<
* value = None
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Environment_variable_0_is_undefi, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1703, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Environment_variable_0_is_undefi, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -35847,17 +35926,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1703, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1703, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(1, 1703, __pyx_L1_error)
+ __PYX_ERR(1, 1711, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1701
+ /* "dependency_injector/providers.pyx":1709
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -35866,7 +35945,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1704
+ /* "dependency_injector/providers.pyx":1712
* and (self._is_strict_mode_enabled() or required is True):
* raise ValueError('Environment variable "{0}" is undefined'.format(name))
* value = None # <<<<<<<<<<<<<<
@@ -35876,7 +35955,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_value, Py_None);
- /* "dependency_injector/providers.pyx":1700
+ /* "dependency_injector/providers.pyx":1708
* value = os.environ.get(name, default)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
@@ -35885,14 +35964,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*/
}
- /* "dependency_injector/providers.pyx":1706
+ /* "dependency_injector/providers.pyx":1714
* value = None
*
* self.override(value) # <<<<<<<<<<<<<<
*
* def from_value(self, value):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1706, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -35906,12 +35985,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1706, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1684
+ /* "dependency_injector/providers.pyx":1692
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -35936,7 +36015,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1708
+/* "dependency_injector/providers.pyx":1716
* self.override(value)
*
* def from_value(self, value): # <<<<<<<<<<<<<<
@@ -35969,14 +36048,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_value", 0);
- /* "dependency_injector/providers.pyx":1716
+ /* "dependency_injector/providers.pyx":1724
* :rtype: None
* """
* self.override(value) # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1716, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -35990,12 +36069,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1716, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1708
+ /* "dependency_injector/providers.pyx":1716
* self.override(value)
*
* def from_value(self, value): # <<<<<<<<<<<<<<
@@ -36019,7 +36098,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
}
static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption_7related_2generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":1719
+/* "dependency_injector/providers.pyx":1727
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -36052,7 +36131,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_8___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 1719, __pyx_L1_error)
+ __PYX_ERR(1, 1727, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -36060,7 +36139,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_19ConfigurationOption_7related_2generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ConfigurationOption___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1719, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_19ConfigurationOption_7related_2generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ConfigurationOption___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 1727, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -36097,18 +36176,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1719, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1727, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1721
+ /* "dependency_injector/providers.pyx":1729
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, self.__name) # <<<<<<<<<<<<<<
* yield from self.__children.values()
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1721, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1721, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -36116,7 +36195,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_self->__pyx___name);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_cur_scope->__pyx_v_self->__pyx___name);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1721, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -36130,16 +36209,16 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1721, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1729, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1721, __pyx_L1_error)
+ else __PYX_ERR(1, 1729, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":1722
+ /* "dependency_injector/providers.pyx":1730
* """Return related providers generator."""
* yield from filter(is_provider, self.__name)
* yield from self.__children.values() # <<<<<<<<<<<<<<
@@ -36148,9 +36227,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
*/
if (unlikely(__pyx_cur_scope->__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 1722, __pyx_L1_error)
+ __PYX_ERR(1, 1730, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1722, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -36163,23 +36242,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1722, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1730, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1722, __pyx_L1_error)
+ else __PYX_ERR(1, 1730, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":1723
+ /* "dependency_injector/providers.pyx":1731
* yield from filter(is_provider, self.__name)
* yield from self.__children.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* def _is_strict_mode_enabled(self):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1723, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption));
@@ -36187,10 +36266,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1723, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1723, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -36204,17 +36283,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1723, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 1731, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 1723, __pyx_L1_error)
+ else __PYX_ERR(1, 1731, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":1719
+ /* "dependency_injector/providers.pyx":1727
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -36240,7 +36319,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1725
+/* "dependency_injector/providers.pyx":1733
* yield from super().related
*
* def _is_strict_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -36270,7 +36349,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_is_strict_mode_enabled", 0);
- /* "dependency_injector/providers.pyx":1726
+ /* "dependency_injector/providers.pyx":1734
*
* def _is_strict_mode_enabled(self):
* return self.__root.__strict # <<<<<<<<<<<<<<
@@ -36278,13 +36357,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___root->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1726, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___root->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1734, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1725
+ /* "dependency_injector/providers.pyx":1733
* yield from super().related
*
* def _is_strict_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -36670,7 +36749,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ConfigurationOption
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1732
+/* "dependency_injector/providers.pyx":1740
*
* @property
* def option(self): # <<<<<<<<<<<<<<
@@ -36701,7 +36780,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationO
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":1733
+ /* "dependency_injector/providers.pyx":1741
* @property
* def option(self):
* return self.args[0] # <<<<<<<<<<<<<<
@@ -36709,16 +36788,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationO
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1733, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1741, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1733, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1741, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1732
+ /* "dependency_injector/providers.pyx":1740
*
* @property
* def option(self): # <<<<<<<<<<<<<<
@@ -37102,10 +37181,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24TypedConfigurationO
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1758
+/* "dependency_injector/providers.pyx":1766
* DEFAULT_NAME = 'config'
*
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False): # <<<<<<<<<<<<<<
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None): # <<<<<<<<<<<<<<
* self.__name = name
* self.__strict = strict
*/
@@ -37116,6 +37195,9 @@ static int __pyx_pw_19dependency_injector_9providers_13Configuration_1__init__(P
PyObject *__pyx_v_name = 0;
PyObject *__pyx_v_default = 0;
PyObject *__pyx_v_strict = 0;
+ PyObject *__pyx_v_yaml_files = 0;
+ PyObject *__pyx_v_ini_files = 0;
+ PyObject *__pyx_v_pydantic_settings = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
@@ -37123,15 +37205,24 @@ static int __pyx_pw_19dependency_injector_9providers_13Configuration_1__init__(P
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_default,&__pyx_n_s_strict,0};
- PyObject* values[3] = {0,0,0};
- values[0] = __pyx_k__19;
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_default,&__pyx_n_s_strict,&__pyx_n_s_yaml_files,&__pyx_n_s_ini_files,&__pyx_n_s_pydantic_settings,0};
+ PyObject* values[6] = {0,0,0,0,0,0};
+ values[0] = __pyx_k__21;
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)Py_False);
+ values[3] = ((PyObject *)Py_None);
+ values[4] = ((PyObject *)Py_None);
+ values[5] = ((PyObject *)Py_None);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ CYTHON_FALLTHROUGH;
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ CYTHON_FALLTHROUGH;
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -37160,12 +37251,36 @@ static int __pyx_pw_19dependency_injector_9providers_13Configuration_1__init__(P
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_strict);
if (value) { values[2] = value; kw_args--; }
}
+ CYTHON_FALLTHROUGH;
+ case 3:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_yaml_files);
+ if (value) { values[3] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 4:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ini_files);
+ if (value) { values[4] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 5:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pydantic_settings);
+ if (value) { values[5] = value; kw_args--; }
+ }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1758, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 1766, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+ CYTHON_FALLTHROUGH;
+ case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+ CYTHON_FALLTHROUGH;
+ case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+ CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
@@ -37179,42 +37294,49 @@ static int __pyx_pw_19dependency_injector_9providers_13Configuration_1__init__(P
__pyx_v_name = values[0];
__pyx_v_default = values[1];
__pyx_v_strict = values[2];
+ __pyx_v_yaml_files = values[3];
+ __pyx_v_ini_files = values[4];
+ __pyx_v_pydantic_settings = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1758, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1766, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration___init__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_name, __pyx_v_default, __pyx_v_strict);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration___init__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_name, __pyx_v_default, __pyx_v_strict, __pyx_v_yaml_files, __pyx_v_ini_files, __pyx_v_pydantic_settings);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_strict) {
+static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_strict, PyObject *__pyx_v_yaml_files, PyObject *__pyx_v_ini_files, PyObject *__pyx_v_pydantic_settings) {
int __pyx_r;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
+ int __pyx_t_5;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
+ __Pyx_INCREF(__pyx_v_yaml_files);
+ __Pyx_INCREF(__pyx_v_ini_files);
+ __Pyx_INCREF(__pyx_v_pydantic_settings);
- /* "dependency_injector/providers.pyx":1759
+ /* "dependency_injector/providers.pyx":1767
*
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False):
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None):
* self.__name = name # <<<<<<<<<<<<<<
* self.__strict = strict
* self.__children = {}
*/
- if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1759, __pyx_L1_error)
+ if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1767, __pyx_L1_error)
__pyx_t_1 = __pyx_v_name;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -37223,24 +37345,24 @@ static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(st
__pyx_v_self->__pyx___name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1760
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False):
+ /* "dependency_injector/providers.pyx":1768
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None):
* self.__name = name
* self.__strict = strict # <<<<<<<<<<<<<<
* self.__children = {}
- *
+ * self.__yaml_files = []
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1760, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1768, __pyx_L1_error)
__pyx_v_self->__pyx___strict = __pyx_t_2;
- /* "dependency_injector/providers.pyx":1761
+ /* "dependency_injector/providers.pyx":1769
* self.__name = name
* self.__strict = strict
* self.__children = {} # <<<<<<<<<<<<<<
- *
- * super().__init__(provides={})
+ * self.__yaml_files = []
+ * self.__ini_files = []
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1761, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1769, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___children);
@@ -37248,14 +37370,59 @@ static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(st
__pyx_v_self->__pyx___children = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1763
+ /* "dependency_injector/providers.pyx":1770
+ * self.__strict = strict
* self.__children = {}
+ * self.__yaml_files = [] # <<<<<<<<<<<<<<
+ * self.__ini_files = []
+ * self.__pydantic_settings = []
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1770, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___yaml_files);
+ __Pyx_DECREF(__pyx_v_self->__pyx___yaml_files);
+ __pyx_v_self->__pyx___yaml_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1771
+ * self.__children = {}
+ * self.__yaml_files = []
+ * self.__ini_files = [] # <<<<<<<<<<<<<<
+ * self.__pydantic_settings = []
+ *
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1771, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___ini_files);
+ __Pyx_DECREF(__pyx_v_self->__pyx___ini_files);
+ __pyx_v_self->__pyx___ini_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1772
+ * self.__yaml_files = []
+ * self.__ini_files = []
+ * self.__pydantic_settings = [] # <<<<<<<<<<<<<<
+ *
+ * super().__init__(provides={})
+ */
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1772, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___pydantic_settings);
+ __Pyx_DECREF(__pyx_v_self->__pyx___pydantic_settings);
+ __pyx_v_self->__pyx___pydantic_settings = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1774
+ * self.__pydantic_settings = []
*
* super().__init__(provides={}) # <<<<<<<<<<<<<<
* self.set_default(default)
*
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
@@ -37263,32 +37430,32 @@ static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(st
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_provides, __pyx_t_4) < 0) __PYX_ERR(1, 1763, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_provides, __pyx_t_4) < 0) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1763, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1764
+ /* "dependency_injector/providers.pyx":1775
*
* super().__init__(provides={})
* self.set_default(default) # <<<<<<<<<<<<<<
*
- * def __deepcopy__(self, memo):
+ * if yaml_files is None:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1764, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -37302,15 +37469,189 @@ static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(st
}
__pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_default) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_default);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1764, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1758
+ /* "dependency_injector/providers.pyx":1777
+ * self.set_default(default)
+ *
+ * if yaml_files is None: # <<<<<<<<<<<<<<
+ * yaml_files = []
+ * self.set_yaml_files(yaml_files)
+ */
+ __pyx_t_2 = (__pyx_v_yaml_files == Py_None);
+ __pyx_t_5 = (__pyx_t_2 != 0);
+ if (__pyx_t_5) {
+
+ /* "dependency_injector/providers.pyx":1778
+ *
+ * if yaml_files is None:
+ * yaml_files = [] # <<<<<<<<<<<<<<
+ * self.set_yaml_files(yaml_files)
+ *
+ */
+ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1778, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF_SET(__pyx_v_yaml_files, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1777
+ * self.set_default(default)
+ *
+ * if yaml_files is None: # <<<<<<<<<<<<<<
+ * yaml_files = []
+ * self.set_yaml_files(yaml_files)
+ */
+ }
+
+ /* "dependency_injector/providers.pyx":1779
+ * if yaml_files is None:
+ * yaml_files = []
+ * self.set_yaml_files(yaml_files) # <<<<<<<<<<<<<<
+ *
+ * if ini_files is None:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_yaml_files); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1779, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_yaml_files) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_yaml_files);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1779, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1781
+ * self.set_yaml_files(yaml_files)
+ *
+ * if ini_files is None: # <<<<<<<<<<<<<<
+ * ini_files = []
+ * self.set_ini_files(ini_files)
+ */
+ __pyx_t_5 = (__pyx_v_ini_files == Py_None);
+ __pyx_t_2 = (__pyx_t_5 != 0);
+ if (__pyx_t_2) {
+
+ /* "dependency_injector/providers.pyx":1782
+ *
+ * if ini_files is None:
+ * ini_files = [] # <<<<<<<<<<<<<<
+ * self.set_ini_files(ini_files)
+ *
+ */
+ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1782, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF_SET(__pyx_v_ini_files, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1781
+ * self.set_yaml_files(yaml_files)
+ *
+ * if ini_files is None: # <<<<<<<<<<<<<<
+ * ini_files = []
+ * self.set_ini_files(ini_files)
+ */
+ }
+
+ /* "dependency_injector/providers.pyx":1783
+ * if ini_files is None:
+ * ini_files = []
+ * self.set_ini_files(ini_files) # <<<<<<<<<<<<<<
+ *
+ * if pydantic_settings is None:
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_ini_files); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1783, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_ini_files) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_ini_files);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1783, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1785
+ * self.set_ini_files(ini_files)
+ *
+ * if pydantic_settings is None: # <<<<<<<<<<<<<<
+ * pydantic_settings = []
+ * self.set_pydantic_settings(pydantic_settings)
+ */
+ __pyx_t_2 = (__pyx_v_pydantic_settings == Py_None);
+ __pyx_t_5 = (__pyx_t_2 != 0);
+ if (__pyx_t_5) {
+
+ /* "dependency_injector/providers.pyx":1786
+ *
+ * if pydantic_settings is None:
+ * pydantic_settings = [] # <<<<<<<<<<<<<<
+ * self.set_pydantic_settings(pydantic_settings)
+ *
+ */
+ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1786, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF_SET(__pyx_v_pydantic_settings, __pyx_t_4);
+ __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1785
+ * self.set_ini_files(ini_files)
+ *
+ * if pydantic_settings is None: # <<<<<<<<<<<<<<
+ * pydantic_settings = []
+ * self.set_pydantic_settings(pydantic_settings)
+ */
+ }
+
+ /* "dependency_injector/providers.pyx":1787
+ * if pydantic_settings is None:
+ * pydantic_settings = []
+ * self.set_pydantic_settings(pydantic_settings) # <<<<<<<<<<<<<<
+ *
+ * def __deepcopy__(self, memo):
+ */
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_pydantic_settings); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1787, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_pydantic_settings) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_pydantic_settings);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1787, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+ /* "dependency_injector/providers.pyx":1766
* DEFAULT_NAME = 'config'
*
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False): # <<<<<<<<<<<<<<
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None): # <<<<<<<<<<<<<<
* self.__name = name
* self.__strict = strict
*/
@@ -37325,12 +37666,15 @@ static int __pyx_pf_19dependency_injector_9providers_13Configuration___init__(st
__Pyx_AddTraceback("dependency_injector.providers.Configuration.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_yaml_files);
+ __Pyx_XDECREF(__pyx_v_ini_files);
+ __Pyx_XDECREF(__pyx_v_pydantic_settings);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1766
- * self.set_default(default)
+/* "dependency_injector/providers.pyx":1789
+ * self.set_pydantic_settings(pydantic_settings)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -37367,16 +37711,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":1767
+ /* "dependency_injector/providers.pyx":1790
*
* def __deepcopy__(self, memo):
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1767, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1767, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -37391,13 +37735,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1767, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1768
+ /* "dependency_injector/providers.pyx":1791
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -37408,7 +37752,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":1769
+ /* "dependency_injector/providers.pyx":1792
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -37420,7 +37764,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1768
+ /* "dependency_injector/providers.pyx":1791
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -37429,29 +37773,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
*/
}
- /* "dependency_injector/providers.pyx":1771
+ /* "dependency_injector/providers.pyx":1794
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_name(self.get_name())
* copied.set_default(self.get_default())
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1771, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1771, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1794, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1794, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1772
+ /* "dependency_injector/providers.pyx":1795
*
* copied = _memorized_duplicate(self, memo)
* copied.set_name(self.get_name()) # <<<<<<<<<<<<<<
* copied.set_default(self.get_default())
* copied.set_strict(self.get_strict())
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1772, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1772, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -37465,7 +37809,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
}
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1772, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -37481,21 +37825,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1772, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1773
+ /* "dependency_injector/providers.pyx":1796
* copied = _memorized_duplicate(self, memo)
* copied.set_name(self.get_name())
* copied.set_default(self.get_default()) # <<<<<<<<<<<<<<
* copied.set_strict(self.get_strict())
* copied.set_children(deepcopy(self.get_children(), memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1773, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_default); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1773, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_default); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -37509,7 +37853,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
}
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1773, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -37525,21 +37869,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1773, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1774
+ /* "dependency_injector/providers.pyx":1797
* copied.set_name(self.get_name())
* copied.set_default(self.get_default())
* copied.set_strict(self.get_strict()) # <<<<<<<<<<<<<<
* copied.set_children(deepcopy(self.get_children(), memo))
- *
+ * copied.set_yaml_files(self.get_yaml_files())
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_strict); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1774, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_strict); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_strict); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1774, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_strict); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -37553,7 +37897,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
}
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1774, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -37569,21 +37913,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1774, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1775
+ /* "dependency_injector/providers.pyx":1798
* copied.set_default(self.get_default())
* copied.set_strict(self.get_strict())
* copied.set_children(deepcopy(self.get_children(), memo)) # <<<<<<<<<<<<<<
- *
- * self._copy_overridings(copied, memo)
+ * copied.set_yaml_files(self.get_yaml_files())
+ * copied.set_ini_files(self.get_ini_files())
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_children); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1775, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_children); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1775, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -37597,13 +37941,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
}
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1775, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1775, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1798, __pyx_L1_error)
__pyx_t_8.__pyx_n = 1;
__pyx_t_8.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1775, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -37619,23 +37963,155 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1775, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1777
+ /* "dependency_injector/providers.pyx":1799
+ * copied.set_strict(self.get_strict())
* copied.set_children(deepcopy(self.get_children(), memo))
+ * copied.set_yaml_files(self.get_yaml_files()) # <<<<<<<<<<<<<<
+ * copied.set_ini_files(self.get_ini_files())
+ * copied.set_pydantic_settings(self.get_pydantic_settings())
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_yaml_files); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1799, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_yaml_files); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1799, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_7 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1799, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1799, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1800
+ * copied.set_children(deepcopy(self.get_children(), memo))
+ * copied.set_yaml_files(self.get_yaml_files())
+ * copied.set_ini_files(self.get_ini_files()) # <<<<<<<<<<<<<<
+ * copied.set_pydantic_settings(self.get_pydantic_settings())
+ *
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_ini_files); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1800, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_ini_files); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1800, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_7 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1800, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1800, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1801
+ * copied.set_yaml_files(self.get_yaml_files())
+ * copied.set_ini_files(self.get_ini_files())
+ * copied.set_pydantic_settings(self.get_pydantic_settings()) # <<<<<<<<<<<<<<
+ *
+ * self._copy_overridings(copied, memo)
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_pydantic_settings); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_pydantic_settings); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_7 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_7)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_7);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1803
+ * copied.set_pydantic_settings(self.get_pydantic_settings())
*
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 1777, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1777, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 1803, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 1803, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":1778
+ /* "dependency_injector/providers.pyx":1804
*
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -37647,8 +38123,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1766
- * self.set_default(default)
+ /* "dependency_injector/providers.pyx":1789
+ * self.set_pydantic_settings(pydantic_settings)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -37671,7 +38147,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_2__de
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1780
+/* "dependency_injector/providers.pyx":1806
* return copied
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -37697,7 +38173,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_4__en
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "dependency_injector/providers.pyx":1781
+ /* "dependency_injector/providers.pyx":1807
*
* def __enter__(self):
* return self # <<<<<<<<<<<<<<
@@ -37709,7 +38185,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_4__en
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1780
+ /* "dependency_injector/providers.pyx":1806
* return copied
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -37724,7 +38200,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_4__en
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1783
+/* "dependency_injector/providers.pyx":1809
* return self
*
* def __exit__(self, *exc_info): # <<<<<<<<<<<<<<
@@ -37762,7 +38238,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_6__ex
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1786
+/* "dependency_injector/providers.pyx":1812
* pass
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -37793,7 +38269,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_8__st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":1787
+ /* "dependency_injector/providers.pyx":1813
*
* def __str__(self):
* return represent_provider(provider=self, provides=self.__name) # <<<<<<<<<<<<<<
@@ -37803,14 +38279,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_8__st
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___name;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1787, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1786
+ /* "dependency_injector/providers.pyx":1812
* pass
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -37830,7 +38306,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_8__st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1789
+/* "dependency_injector/providers.pyx":1815
* return represent_provider(provider=self, provides=self.__name)
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -37866,14 +38342,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":1790
+ /* "dependency_injector/providers.pyx":1816
*
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'): # <<<<<<<<<<<<<<
* raise AttributeError(
* '\'{cls}\' object has no attribute '
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -37887,17 +38363,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -37911,70 +38387,70 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1790, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1816, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":1793
+ /* "dependency_injector/providers.pyx":1819
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=item))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1793, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1793, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1793, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1793, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 1793, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1794
+ /* "dependency_injector/providers.pyx":1820
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=item)) # <<<<<<<<<<<<<<
*
* child = self.__children.get(item)
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_item) < 0) __PYX_ERR(1, 1793, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_item) < 0) __PYX_ERR(1, 1819, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1793
+ /* "dependency_injector/providers.pyx":1819
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=item))
*
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1793, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1791
+ /* "dependency_injector/providers.pyx":1817
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'):
* raise AttributeError( # <<<<<<<<<<<<<<
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1791, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1791, __pyx_L1_error)
+ __PYX_ERR(1, 1817, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1790
+ /* "dependency_injector/providers.pyx":1816
*
* def __getattr__(self, item):
* if item.startswith('__') and item.endswith('__'): # <<<<<<<<<<<<<<
@@ -37983,7 +38459,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
*/
}
- /* "dependency_injector/providers.pyx":1796
+ /* "dependency_injector/providers.pyx":1822
* attribute_name=item))
*
* child = self.__children.get(item) # <<<<<<<<<<<<<<
@@ -37992,14 +38468,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 1796, __pyx_L1_error)
+ __PYX_ERR(1, 1822, __pyx_L1_error)
}
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1796, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1822, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_child = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1797
+ /* "dependency_injector/providers.pyx":1823
*
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -38010,19 +38486,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
__pyx_t_5 = (__pyx_t_1 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":1798
+ /* "dependency_injector/providers.pyx":1824
* child = self.__children.get(item)
* if child is None:
* child = ConfigurationOption((item,), self) # <<<<<<<<<<<<<<
* self.__children[item] = child
* return child
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1798, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_item);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1798, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
@@ -38030,13 +38506,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_self));
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1798, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_child, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1799
+ /* "dependency_injector/providers.pyx":1825
* if child is None:
* child = ConfigurationOption((item,), self)
* self.__children[item] = child # <<<<<<<<<<<<<<
@@ -38045,11 +38521,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1799, __pyx_L1_error)
+ __PYX_ERR(1, 1825, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1799, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1825, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1797
+ /* "dependency_injector/providers.pyx":1823
*
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -38058,7 +38534,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
*/
}
- /* "dependency_injector/providers.pyx":1800
+ /* "dependency_injector/providers.pyx":1826
* child = ConfigurationOption((item,), self)
* self.__children[item] = child
* return child # <<<<<<<<<<<<<<
@@ -38070,7 +38546,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
__pyx_r = __pyx_v_child;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1789
+ /* "dependency_injector/providers.pyx":1815
* return represent_provider(provider=self, provides=self.__name)
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -38093,7 +38569,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_10__g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1802
+/* "dependency_injector/providers.pyx":1828
* return child
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -38127,7 +38603,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":1803
+ /* "dependency_injector/providers.pyx":1829
*
* def __getitem__(self, item):
* child = self.__children.get(item) # <<<<<<<<<<<<<<
@@ -38136,14 +38612,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get");
- __PYX_ERR(1, 1803, __pyx_L1_error)
+ __PYX_ERR(1, 1829, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1803, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->__pyx___children, __pyx_v_item, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1829, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_child = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1804
+ /* "dependency_injector/providers.pyx":1830
* def __getitem__(self, item):
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -38154,14 +38630,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":1805
+ /* "dependency_injector/providers.pyx":1831
* child = self.__children.get(item)
* if child is None:
* child = ConfigurationOption(item, self) # <<<<<<<<<<<<<<
* self.__children[item] = child
* return child
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1805, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
@@ -38169,13 +38645,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1805, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ConfigurationOption), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_child, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1806
+ /* "dependency_injector/providers.pyx":1832
* if child is None:
* child = ConfigurationOption(item, self)
* self.__children[item] = child # <<<<<<<<<<<<<<
@@ -38184,11 +38660,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 1806, __pyx_L1_error)
+ __PYX_ERR(1, 1832, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1806, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_self->__pyx___children, __pyx_v_item, __pyx_v_child) < 0)) __PYX_ERR(1, 1832, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1804
+ /* "dependency_injector/providers.pyx":1830
* def __getitem__(self, item):
* child = self.__children.get(item)
* if child is None: # <<<<<<<<<<<<<<
@@ -38197,7 +38673,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
*/
}
- /* "dependency_injector/providers.pyx":1807
+ /* "dependency_injector/providers.pyx":1833
* child = ConfigurationOption(item, self)
* self.__children[item] = child
* return child # <<<<<<<<<<<<<<
@@ -38209,7 +38685,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
__pyx_r = __pyx_v_child;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1802
+ /* "dependency_injector/providers.pyx":1828
* return child
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -38230,7 +38706,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_12__g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1809
+/* "dependency_injector/providers.pyx":1835
* return child
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -38257,7 +38733,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_14get
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_name", 0);
- /* "dependency_injector/providers.pyx":1811
+ /* "dependency_injector/providers.pyx":1837
* def get_name(self):
* """Return name."""
* return self.__name # <<<<<<<<<<<<<<
@@ -38269,7 +38745,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_14get
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1809
+ /* "dependency_injector/providers.pyx":1835
* return child
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -38284,7 +38760,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_14get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1813
+/* "dependency_injector/providers.pyx":1839
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -38315,14 +38791,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_16set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_name", 0);
- /* "dependency_injector/providers.pyx":1815
+ /* "dependency_injector/providers.pyx":1841
* def set_name(self, name):
* """Set name."""
* self.__name = name # <<<<<<<<<<<<<<
* return self
*
*/
- if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1815, __pyx_L1_error)
+ if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 1841, __pyx_L1_error)
__pyx_t_1 = __pyx_v_name;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -38331,7 +38807,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_16set
__pyx_v_self->__pyx___name = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1816
+ /* "dependency_injector/providers.pyx":1842
* """Set name."""
* self.__name = name
* return self # <<<<<<<<<<<<<<
@@ -38343,7 +38819,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_16set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1813
+ /* "dependency_injector/providers.pyx":1839
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -38362,7 +38838,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_16set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1818
+/* "dependency_injector/providers.pyx":1844
* return self
*
* def get_default(self): # <<<<<<<<<<<<<<
@@ -38393,7 +38869,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_18get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_default", 0);
- /* "dependency_injector/providers.pyx":1820
+ /* "dependency_injector/providers.pyx":1846
* def get_default(self):
* """Return default."""
* return self.provides # <<<<<<<<<<<<<<
@@ -38401,13 +38877,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_18get
* def set_default(self, default):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1820, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1846, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1818
+ /* "dependency_injector/providers.pyx":1844
* return self
*
* def get_default(self): # <<<<<<<<<<<<<<
@@ -38426,7 +38902,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_18get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1822
+/* "dependency_injector/providers.pyx":1848
* return self.provides
*
* def set_default(self, default): # <<<<<<<<<<<<<<
@@ -38463,18 +38939,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_default", 0);
- /* "dependency_injector/providers.pyx":1824
+ /* "dependency_injector/providers.pyx":1850
* def set_default(self, default):
* """Set default."""
* if not default: # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1824, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_default); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 1850, __pyx_L1_error)
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":1825
+ /* "dependency_injector/providers.pyx":1851
* """Set default."""
* if not default:
* return self # <<<<<<<<<<<<<<
@@ -38486,7 +38962,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1824
+ /* "dependency_injector/providers.pyx":1850
* def set_default(self, default):
* """Set default."""
* if not default: # <<<<<<<<<<<<<<
@@ -38495,7 +38971,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
*/
}
- /* "dependency_injector/providers.pyx":1827
+ /* "dependency_injector/providers.pyx":1853
* return self
*
* assert isinstance(default, dict), default # <<<<<<<<<<<<<<
@@ -38506,25 +38982,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
if (unlikely(!Py_OptimizeFlag)) {
__pyx_t_2 = PyDict_Check(__pyx_v_default);
if (unlikely(!(__pyx_t_2 != 0))) {
- __pyx_t_3 = PyTuple_Pack(1, __pyx_v_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1827, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_Pack(1, __pyx_v_default); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
PyErr_SetObject(PyExc_AssertionError, __pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 1827, __pyx_L1_error)
+ __PYX_ERR(1, 1853, __pyx_L1_error)
}
}
#endif
- /* "dependency_injector/providers.pyx":1828
+ /* "dependency_injector/providers.pyx":1854
*
* assert isinstance(default, dict), default
* self.set_provides(default.copy()) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1828, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_default, __pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1828, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_default, __pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -38538,7 +39014,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1828, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -38554,12 +39030,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1828, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":1829
+ /* "dependency_injector/providers.pyx":1855
* assert isinstance(default, dict), default
* self.set_provides(default.copy())
* return self # <<<<<<<<<<<<<<
@@ -38571,7 +39047,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1822
+ /* "dependency_injector/providers.pyx":1848
* return self.provides
*
* def set_default(self, default): # <<<<<<<<<<<<<<
@@ -38594,7 +39070,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_20set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1831
+/* "dependency_injector/providers.pyx":1857
* return self
*
* def get_strict(self): # <<<<<<<<<<<<<<
@@ -38625,7 +39101,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_22get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_strict", 0);
- /* "dependency_injector/providers.pyx":1833
+ /* "dependency_injector/providers.pyx":1859
* def get_strict(self):
* """Return strict flag."""
* return self.__strict # <<<<<<<<<<<<<<
@@ -38633,13 +39109,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_22get
* def set_strict(self, strict):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1833, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1831
+ /* "dependency_injector/providers.pyx":1857
* return self
*
* def get_strict(self): # <<<<<<<<<<<<<<
@@ -38658,7 +39134,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_22get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1835
+/* "dependency_injector/providers.pyx":1861
* return self.__strict
*
* def set_strict(self, strict): # <<<<<<<<<<<<<<
@@ -38689,17 +39165,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_24set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_strict", 0);
- /* "dependency_injector/providers.pyx":1837
+ /* "dependency_injector/providers.pyx":1863
* def set_strict(self, strict):
* """Set strict flag."""
* self.__strict = strict # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1837, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 1863, __pyx_L1_error)
__pyx_v_self->__pyx___strict = __pyx_t_1;
- /* "dependency_injector/providers.pyx":1838
+ /* "dependency_injector/providers.pyx":1864
* """Set strict flag."""
* self.__strict = strict
* return self # <<<<<<<<<<<<<<
@@ -38711,7 +39187,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_24set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1835
+ /* "dependency_injector/providers.pyx":1861
* return self.__strict
*
* def set_strict(self, strict): # <<<<<<<<<<<<<<
@@ -38729,7 +39205,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_24set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1840
+/* "dependency_injector/providers.pyx":1866
* return self
*
* def get_children(self): # <<<<<<<<<<<<<<
@@ -38756,7 +39232,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_26get
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_children", 0);
- /* "dependency_injector/providers.pyx":1842
+ /* "dependency_injector/providers.pyx":1868
* def get_children(self):
* """Return children options."""
* return self.__children # <<<<<<<<<<<<<<
@@ -38768,7 +39244,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_26get
__pyx_r = __pyx_v_self->__pyx___children;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1840
+ /* "dependency_injector/providers.pyx":1866
* return self
*
* def get_children(self): # <<<<<<<<<<<<<<
@@ -38783,7 +39259,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_26get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1844
+/* "dependency_injector/providers.pyx":1870
* return self.__children
*
* def set_children(self, children): # <<<<<<<<<<<<<<
@@ -38814,14 +39290,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_28set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_children", 0);
- /* "dependency_injector/providers.pyx":1846
+ /* "dependency_injector/providers.pyx":1872
* def set_children(self, children):
* """Set children options."""
* self.__children = children # <<<<<<<<<<<<<<
* return self
*
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_children))||((__pyx_v_children) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_children)->tp_name), 0))) __PYX_ERR(1, 1846, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_children))||((__pyx_v_children) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_children)->tp_name), 0))) __PYX_ERR(1, 1872, __pyx_L1_error)
__pyx_t_1 = __pyx_v_children;
__Pyx_INCREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
@@ -38830,19 +39306,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_28set
__pyx_v_self->__pyx___children = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1847
+ /* "dependency_injector/providers.pyx":1873
* """Set children options."""
* self.__children = children
* return self # <<<<<<<<<<<<<<
*
- * def get(self, selector, required=False):
+ * def get_yaml_files(self):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1844
+ /* "dependency_injector/providers.pyx":1870
* return self.__children
*
* def set_children(self, children): # <<<<<<<<<<<<<<
@@ -38861,18 +39337,871 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_28set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1849
+/* "dependency_injector/providers.pyx":1875
* return self
*
+ * def get_yaml_files(self): # <<<<<<<<<<<<<<
+ * """Return list of YAML files."""
+ * return list(self.__yaml_files)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get_yaml_files(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_30get_yaml_files[] = "Return list of YAML files.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get_yaml_files(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("get_yaml_files (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_30get_yaml_files(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get_yaml_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("get_yaml_files", 0);
+
+ /* "dependency_injector/providers.pyx":1877
+ * def get_yaml_files(self):
+ * """Return list of YAML files."""
+ * return list(self.__yaml_files) # <<<<<<<<<<<<<<
+ *
+ * def set_yaml_files(self, files):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PySequence_List(__pyx_v_self->__pyx___yaml_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1877, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1875
+ * return self
+ *
+ * def get_yaml_files(self): # <<<<<<<<<<<<<<
+ * """Return list of YAML files."""
+ * return list(self.__yaml_files)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.get_yaml_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1879
+ * return list(self.__yaml_files)
+ *
+ * def set_yaml_files(self, files): # <<<<<<<<<<<<<<
+ * """Set list of YAML files."""
+ * self.__yaml_files = list(files)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set_yaml_files(PyObject *__pyx_v_self, PyObject *__pyx_v_files); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_32set_yaml_files[] = "Set list of YAML files.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set_yaml_files(PyObject *__pyx_v_self, PyObject *__pyx_v_files) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("set_yaml_files (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_32set_yaml_files(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_files));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set_yaml_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_files) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("set_yaml_files", 0);
+
+ /* "dependency_injector/providers.pyx":1881
+ * def set_yaml_files(self, files):
+ * """Set list of YAML files."""
+ * self.__yaml_files = list(files) # <<<<<<<<<<<<<<
+ * return self
+ *
+ */
+ __pyx_t_1 = PySequence_List(__pyx_v_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1881, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___yaml_files);
+ __Pyx_DECREF(__pyx_v_self->__pyx___yaml_files);
+ __pyx_v_self->__pyx___yaml_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1882
+ * """Set list of YAML files."""
+ * self.__yaml_files = list(files)
+ * return self # <<<<<<<<<<<<<<
+ *
+ * def get_ini_files(self):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ __pyx_r = ((PyObject *)__pyx_v_self);
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1879
+ * return list(self.__yaml_files)
+ *
+ * def set_yaml_files(self, files): # <<<<<<<<<<<<<<
+ * """Set list of YAML files."""
+ * self.__yaml_files = list(files)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.set_yaml_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1884
+ * return self
+ *
+ * def get_ini_files(self): # <<<<<<<<<<<<<<
+ * """Return list of INI files."""
+ * return list(self.__ini_files)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_35get_ini_files(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_34get_ini_files[] = "Return list of INI files.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_35get_ini_files(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("get_ini_files (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_34get_ini_files(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34get_ini_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("get_ini_files", 0);
+
+ /* "dependency_injector/providers.pyx":1886
+ * def get_ini_files(self):
+ * """Return list of INI files."""
+ * return list(self.__ini_files) # <<<<<<<<<<<<<<
+ *
+ * def set_ini_files(self, files):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PySequence_List(__pyx_v_self->__pyx___ini_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1886, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1884
+ * return self
+ *
+ * def get_ini_files(self): # <<<<<<<<<<<<<<
+ * """Return list of INI files."""
+ * return list(self.__ini_files)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.get_ini_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1888
+ * return list(self.__ini_files)
+ *
+ * def set_ini_files(self, files): # <<<<<<<<<<<<<<
+ * """Set list of INI files."""
+ * self.__ini_files = list(files)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_37set_ini_files(PyObject *__pyx_v_self, PyObject *__pyx_v_files); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_36set_ini_files[] = "Set list of INI files.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_37set_ini_files(PyObject *__pyx_v_self, PyObject *__pyx_v_files) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("set_ini_files (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_36set_ini_files(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_files));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36set_ini_files(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_files) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("set_ini_files", 0);
+
+ /* "dependency_injector/providers.pyx":1890
+ * def set_ini_files(self, files):
+ * """Set list of INI files."""
+ * self.__ini_files = list(files) # <<<<<<<<<<<<<<
+ * return self
+ *
+ */
+ __pyx_t_1 = PySequence_List(__pyx_v_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1890, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___ini_files);
+ __Pyx_DECREF(__pyx_v_self->__pyx___ini_files);
+ __pyx_v_self->__pyx___ini_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1891
+ * """Set list of INI files."""
+ * self.__ini_files = list(files)
+ * return self # <<<<<<<<<<<<<<
+ *
+ * def get_pydantic_settings(self):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ __pyx_r = ((PyObject *)__pyx_v_self);
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1888
+ * return list(self.__ini_files)
+ *
+ * def set_ini_files(self, files): # <<<<<<<<<<<<<<
+ * """Set list of INI files."""
+ * self.__ini_files = list(files)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.set_ini_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1893
+ * return self
+ *
+ * def get_pydantic_settings(self): # <<<<<<<<<<<<<<
+ * """Return list of Pydantic settings."""
+ * return list(self.__pydantic_settings)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_39get_pydantic_settings(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_38get_pydantic_settings[] = "Return list of Pydantic settings.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_39get_pydantic_settings(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("get_pydantic_settings (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_38get_pydantic_settings(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38get_pydantic_settings(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("get_pydantic_settings", 0);
+
+ /* "dependency_injector/providers.pyx":1895
+ * def get_pydantic_settings(self):
+ * """Return list of Pydantic settings."""
+ * return list(self.__pydantic_settings) # <<<<<<<<<<<<<<
+ *
+ * def set_pydantic_settings(self, settings):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __pyx_t_1 = PySequence_List(__pyx_v_self->__pyx___pydantic_settings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1895, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1893
+ * return self
+ *
+ * def get_pydantic_settings(self): # <<<<<<<<<<<<<<
+ * """Return list of Pydantic settings."""
+ * return list(self.__pydantic_settings)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.get_pydantic_settings", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1897
+ * return list(self.__pydantic_settings)
+ *
+ * def set_pydantic_settings(self, settings): # <<<<<<<<<<<<<<
+ * """Set list of Pydantic settings."""
+ * self.__pydantic_settings = list(settings)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_41set_pydantic_settings(PyObject *__pyx_v_self, PyObject *__pyx_v_settings); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_40set_pydantic_settings[] = "Set list of Pydantic settings.";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_41set_pydantic_settings(PyObject *__pyx_v_self, PyObject *__pyx_v_settings) {
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("set_pydantic_settings (wrapper)", 0);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_40set_pydantic_settings(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_settings));
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40set_pydantic_settings(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings) {
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("set_pydantic_settings", 0);
+
+ /* "dependency_injector/providers.pyx":1899
+ * def set_pydantic_settings(self, settings):
+ * """Set list of Pydantic settings."""
+ * self.__pydantic_settings = list(settings) # <<<<<<<<<<<<<<
+ * return self
+ *
+ */
+ __pyx_t_1 = PySequence_List(__pyx_v_settings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1899, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v_self->__pyx___pydantic_settings);
+ __Pyx_DECREF(__pyx_v_self->__pyx___pydantic_settings);
+ __pyx_v_self->__pyx___pydantic_settings = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1900
+ * """Set list of Pydantic settings."""
+ * self.__pydantic_settings = list(settings)
+ * return self # <<<<<<<<<<<<<<
+ *
+ * def load(self, required=UNDEFINED, envs_required=UNDEFINED):
+ */
+ __Pyx_XDECREF(__pyx_r);
+ __Pyx_INCREF(((PyObject *)__pyx_v_self));
+ __pyx_r = ((PyObject *)__pyx_v_self);
+ goto __pyx_L0;
+
+ /* "dependency_injector/providers.pyx":1897
+ * return list(self.__pydantic_settings)
+ *
+ * def set_pydantic_settings(self, settings): # <<<<<<<<<<<<<<
+ * """Set list of Pydantic settings."""
+ * self.__pydantic_settings = list(settings)
+ */
+
+ /* function exit code */
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.set_pydantic_settings", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1902
+ * return self
+ *
+ * def load(self, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
+ * """Load configuration.
+ *
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_43load(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_42load[] = "Load configuration.\n\n This method loads configuration from configuration files or pydantic settings that\n were set earlier with set_*() methods or provided to the __init__(), e.g.:\n\n .. code-block:: python\n\n config = providers.Configuration(yaml_files=[file1, file2])\n config.load()\n\n :param required: When required is True, raise an exception if file does not exist.\n :type required: bool\n\n :param envs_required: When True, raises an error on undefined environment variable.\n :type envs_required: bool\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_43load(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+ PyObject *__pyx_v_required = 0;
+ PyObject *__pyx_v_envs_required = 0;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ PyObject *__pyx_r = 0;
+ __Pyx_RefNannyDeclarations
+ __Pyx_RefNannySetupContext("load (wrapper)", 0);
+ {
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_required,&__pyx_n_s_envs_required,0};
+ PyObject* values[2] = {0,0};
+ values[0] = __pyx_k__22;
+ values[1] = __pyx_k__23;
+ if (unlikely(__pyx_kwds)) {
+ Py_ssize_t kw_args;
+ const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+ switch (pos_args) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ kw_args = PyDict_Size(__pyx_kwds);
+ switch (pos_args) {
+ case 0:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_required);
+ if (value) { values[0] = value; kw_args--; }
+ }
+ CYTHON_FALLTHROUGH;
+ case 1:
+ if (kw_args > 0) {
+ PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_envs_required);
+ if (value) { values[1] = value; kw_args--; }
+ }
+ }
+ if (unlikely(kw_args > 0)) {
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load") < 0)) __PYX_ERR(1, 1902, __pyx_L3_error)
+ }
+ } else {
+ switch (PyTuple_GET_SIZE(__pyx_args)) {
+ case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+ CYTHON_FALLTHROUGH;
+ case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+ CYTHON_FALLTHROUGH;
+ case 0: break;
+ default: goto __pyx_L5_argtuple_error;
+ }
+ }
+ __pyx_v_required = values[0];
+ __pyx_v_envs_required = values[1];
+ }
+ goto __pyx_L4_argument_unpacking_done;
+ __pyx_L5_argtuple_error:;
+ __Pyx_RaiseArgtupleInvalid("load", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1902, __pyx_L3_error)
+ __pyx_L3_error:;
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_RefNannyFinishContext();
+ return NULL;
+ __pyx_L4_argument_unpacking_done:;
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_42load(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_required, __pyx_v_envs_required);
+
+ /* function exit code */
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42load(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required) {
+ PyObject *__pyx_v_file = NULL;
+ PyObject *__pyx_v_settings = NULL;
+ PyObject *__pyx_r = NULL;
+ __Pyx_RefNannyDeclarations
+ PyObject *__pyx_t_1 = NULL;
+ PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
+ Py_ssize_t __pyx_t_4;
+ PyObject *(*__pyx_t_5)(PyObject *);
+ PyObject *__pyx_t_6 = NULL;
+ PyObject *__pyx_t_7 = NULL;
+ int __pyx_lineno = 0;
+ const char *__pyx_filename = NULL;
+ int __pyx_clineno = 0;
+ __Pyx_RefNannySetupContext("load", 0);
+
+ /* "dependency_injector/providers.pyx":1919
+ * :type envs_required: bool
+ * """
+ * for file in self.get_yaml_files(): # <<<<<<<<<<<<<<
+ * self.from_yaml(file, required=required, envs_required=envs_required)
+ *
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_yaml_files); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+ __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
+ __pyx_t_5 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_5)) {
+ if (likely(PyList_CheckExact(__pyx_t_2))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ #else
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1919, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ #endif
+ }
+ } else {
+ __pyx_t_1 = __pyx_t_5(__pyx_t_2);
+ if (unlikely(!__pyx_t_1)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(1, 1919, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_1);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_file, __pyx_t_1);
+ __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1920
+ * """
+ * for file in self.get_yaml_files():
+ * self.from_yaml(file, required=required, envs_required=envs_required) # <<<<<<<<<<<<<<
+ *
+ * for file in self.get_ini_files():
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1920, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1920, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_file);
+ __Pyx_GIVEREF(__pyx_v_file);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_file);
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1920, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 1920, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 1920, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1920, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "dependency_injector/providers.pyx":1919
+ * :type envs_required: bool
+ * """
+ * for file in self.get_yaml_files(): # <<<<<<<<<<<<<<
+ * self.from_yaml(file, required=required, envs_required=envs_required)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "dependency_injector/providers.pyx":1922
+ * self.from_yaml(file, required=required, envs_required=envs_required)
+ *
+ * for file in self.get_ini_files(): # <<<<<<<<<<<<<<
+ * self.from_ini(file, required=required, envs_required=envs_required)
+ *
+ */
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_ini_files); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_6 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_6)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_6);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
+ }
+ }
+ __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
+ __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0;
+ __pyx_t_5 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_5 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ }
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_5)) {
+ if (likely(PyList_CheckExact(__pyx_t_7))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ #else
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1922, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ #endif
+ }
+ } else {
+ __pyx_t_2 = __pyx_t_5(__pyx_t_7);
+ if (unlikely(!__pyx_t_2)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(1, 1922, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_2);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_file, __pyx_t_2);
+ __pyx_t_2 = 0;
+
+ /* "dependency_injector/providers.pyx":1923
+ *
+ * for file in self.get_ini_files():
+ * self.from_ini(file, required=required, envs_required=envs_required) # <<<<<<<<<<<<<<
+ *
+ * for settings in self.get_pydantic_settings():
+ */
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_ini); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1923, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1923, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __Pyx_INCREF(__pyx_v_file);
+ __Pyx_GIVEREF(__pyx_v_file);
+ PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_file);
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1923, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 1923, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_envs_required, __pyx_v_envs_required) < 0) __PYX_ERR(1, 1923, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1923, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1922
+ * self.from_yaml(file, required=required, envs_required=envs_required)
+ *
+ * for file in self.get_ini_files(): # <<<<<<<<<<<<<<
+ * self.from_ini(file, required=required, envs_required=envs_required)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+ /* "dependency_injector/providers.pyx":1925
+ * self.from_ini(file, required=required, envs_required=envs_required)
+ *
+ * for settings in self.get_pydantic_settings(): # <<<<<<<<<<<<<<
+ * self.from_pydantic(settings, required=required)
+ *
+ */
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_pydantic_settings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_3)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_3);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
+ __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
+ __pyx_t_5 = NULL;
+ } else {
+ __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ }
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ for (;;) {
+ if (likely(!__pyx_t_5)) {
+ if (likely(PyList_CheckExact(__pyx_t_1))) {
+ if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ #else
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ #endif
+ } else {
+ if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+ __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ #else
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1925, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ #endif
+ }
+ } else {
+ __pyx_t_7 = __pyx_t_5(__pyx_t_1);
+ if (unlikely(!__pyx_t_7)) {
+ PyObject* exc_type = PyErr_Occurred();
+ if (exc_type) {
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+ else __PYX_ERR(1, 1925, __pyx_L1_error)
+ }
+ break;
+ }
+ __Pyx_GOTREF(__pyx_t_7);
+ }
+ __Pyx_XDECREF_SET(__pyx_v_settings, __pyx_t_7);
+ __pyx_t_7 = 0;
+
+ /* "dependency_injector/providers.pyx":1926
+ *
+ * for settings in self.get_pydantic_settings():
+ * self.from_pydantic(settings, required=required) # <<<<<<<<<<<<<<
+ *
+ * def get(self, selector, required=False):
+ */
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_pydantic); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1926, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1926, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_INCREF(__pyx_v_settings);
+ __Pyx_GIVEREF(__pyx_v_settings);
+ PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_settings);
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1926, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 1926, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1926, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+ /* "dependency_injector/providers.pyx":1925
+ * self.from_ini(file, required=required, envs_required=envs_required)
+ *
+ * for settings in self.get_pydantic_settings(): # <<<<<<<<<<<<<<
+ * self.from_pydantic(settings, required=required)
+ *
+ */
+ }
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":1902
+ * return self
+ *
+ * def load(self, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
+ * """Load configuration.
+ *
+ */
+
+ /* function exit code */
+ __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+ goto __pyx_L0;
+ __pyx_L1_error:;
+ __Pyx_XDECREF(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_6);
+ __Pyx_XDECREF(__pyx_t_7);
+ __Pyx_AddTraceback("dependency_injector.providers.Configuration.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __pyx_r = NULL;
+ __pyx_L0:;
+ __Pyx_XDECREF(__pyx_v_file);
+ __Pyx_XDECREF(__pyx_v_settings);
+ __Pyx_XGIVEREF(__pyx_r);
+ __Pyx_RefNannyFinishContext();
+ return __pyx_r;
+}
+
+/* "dependency_injector/providers.pyx":1928
+ * self.from_pydantic(settings, required=required)
+ *
* def get(self, selector, required=False): # <<<<<<<<<<<<<<
* """Return configuration option.
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_30get[] = "Return configuration option.\n\n :param selector: Selector string, e.g. \"option1.option2\"\n :type selector: str\n\n :param required: Required flag, raise error if required option is missing\n :type required: bool\n\n :return: Option value.\n :rtype: Any\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_44get[] = "Return configuration option.\n\n :param selector: Selector string, e.g. \"option1.option2\"\n :type selector: str\n\n :param required: Required flag, raise error if required option is missing\n :type required: bool\n\n :return: Option value.\n :rtype: Any\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_selector = 0;
PyObject *__pyx_v_required = 0;
int __pyx_lineno = 0;
@@ -38909,7 +40238,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get") < 0)) __PYX_ERR(1, 1849, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get") < 0)) __PYX_ERR(1, 1928, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -38925,20 +40254,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_31get
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("get", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1849, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("get", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1928, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.get", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_30get(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_selector, __pyx_v_required);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_44get(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_selector, __pyx_v_required);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_required) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44get(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_required) {
PyObject *__pyx_v_value = NULL;
PyObject *__pyx_v_keys = NULL;
PyObject *__pyx_v_key = NULL;
@@ -38959,14 +40288,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get", 0);
- /* "dependency_injector/providers.pyx":1861
+ /* "dependency_injector/providers.pyx":1940
* :rtype: Any
* """
* value = self.__call__() # <<<<<<<<<<<<<<
*
* if value is None:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1861, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1940, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -38980,13 +40309,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1861, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1940, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1863
+ /* "dependency_injector/providers.pyx":1942
* value = self.__call__()
*
* if value is None: # <<<<<<<<<<<<<<
@@ -38997,14 +40326,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":1864
+ /* "dependency_injector/providers.pyx":1943
*
* if value is None:
* if self._is_strict_mode_enabled() or required: # <<<<<<<<<<<<<<
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector))
* return None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1864, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1943, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -39018,31 +40347,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1864, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1943, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 1864, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 1943, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_4) {
} else {
__pyx_t_5 = __pyx_t_4;
goto __pyx_L5_bool_binop_done;
}
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 1864, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 1943, __pyx_L1_error)
__pyx_t_5 = __pyx_t_4;
__pyx_L5_bool_binop_done:;
if (unlikely(__pyx_t_5)) {
- /* "dependency_injector/providers.pyx":1865
+ /* "dependency_injector/providers.pyx":1944
* if value is None:
* if self._is_strict_mode_enabled() or required:
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector)) # <<<<<<<<<<<<<<
* return None
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Undefined_configuration_option_0, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Undefined_configuration_option_0, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -39059,7 +40388,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_self->__pyx___name, __pyx_v_selector};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
@@ -39067,13 +40396,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_self->__pyx___name, __pyx_v_selector};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -39084,7 +40413,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__Pyx_INCREF(__pyx_v_selector);
__Pyx_GIVEREF(__pyx_v_selector);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_selector);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -39102,14 +40431,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1865, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1944, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1865, __pyx_L1_error)
+ __PYX_ERR(1, 1944, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1864
+ /* "dependency_injector/providers.pyx":1943
*
* if value is None:
* if self._is_strict_mode_enabled() or required: # <<<<<<<<<<<<<<
@@ -39118,7 +40447,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
*/
}
- /* "dependency_injector/providers.pyx":1866
+ /* "dependency_injector/providers.pyx":1945
* if self._is_strict_mode_enabled() or required:
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector))
* return None # <<<<<<<<<<<<<<
@@ -39129,7 +40458,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1863
+ /* "dependency_injector/providers.pyx":1942
* value = self.__call__()
*
* if value is None: # <<<<<<<<<<<<<<
@@ -39138,14 +40467,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
*/
}
- /* "dependency_injector/providers.pyx":1868
+ /* "dependency_injector/providers.pyx":1947
* return None
*
* keys = selector.split('.') # <<<<<<<<<<<<<<
* while len(keys) > 0:
* key = keys.pop(0)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_selector, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1868, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_selector, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1947, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -39159,13 +40488,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s__6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s__6);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1868, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1947, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_keys = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1869
+ /* "dependency_injector/providers.pyx":1948
*
* keys = selector.split('.')
* while len(keys) > 0: # <<<<<<<<<<<<<<
@@ -39173,32 +40502,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
* value = value.get(key, UNDEFINED)
*/
while (1) {
- __pyx_t_10 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1869, __pyx_L1_error)
+ __pyx_t_10 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1948, __pyx_L1_error)
__pyx_t_5 = ((__pyx_t_10 > 0) != 0);
if (!__pyx_t_5) break;
- /* "dependency_injector/providers.pyx":1870
+ /* "dependency_injector/providers.pyx":1949
* keys = selector.split('.')
* while len(keys) > 0:
* key = keys.pop(0) # <<<<<<<<<<<<<<
* value = value.get(key, UNDEFINED)
*
*/
- __pyx_t_1 = __Pyx_PyObject_PopIndex(__pyx_v_keys, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1870, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_PopIndex(__pyx_v_keys, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1871
+ /* "dependency_injector/providers.pyx":1950
* while len(keys) > 0:
* key = keys.pop(0)
* value = value.get(key, UNDEFINED) # <<<<<<<<<<<<<<
*
* if value is UNDEFINED:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_8 = 0;
@@ -39215,7 +40544,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_key, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -39224,14 +40553,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_key, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -39242,7 +40571,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1871, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -39250,28 +40579,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1873
+ /* "dependency_injector/providers.pyx":1952
* value = value.get(key, UNDEFINED)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
* if self._is_strict_mode_enabled() or required:
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1873, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1952, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = (__pyx_v_value == __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_4 = (__pyx_t_5 != 0);
if (__pyx_t_4) {
- /* "dependency_injector/providers.pyx":1874
+ /* "dependency_injector/providers.pyx":1953
*
* if value is UNDEFINED:
* if self._is_strict_mode_enabled() or required: # <<<<<<<<<<<<<<
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector))
* return None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1874, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -39285,31 +40614,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
}
__pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1874, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1874, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1953, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_5) {
} else {
__pyx_t_4 = __pyx_t_5;
goto __pyx_L11_bool_binop_done;
}
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1874, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_required); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 1953, __pyx_L1_error)
__pyx_t_4 = __pyx_t_5;
__pyx_L11_bool_binop_done:;
if (unlikely(__pyx_t_4)) {
- /* "dependency_injector/providers.pyx":1875
+ /* "dependency_injector/providers.pyx":1954
* if value is UNDEFINED:
* if self._is_strict_mode_enabled() or required:
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector)) # <<<<<<<<<<<<<<
* return None
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Undefined_configuration_option_0, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Undefined_configuration_option_0, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_8 = 0;
@@ -39326,7 +40655,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_self->__pyx___name, __pyx_v_selector};
- __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_9);
} else
@@ -39334,13 +40663,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_self->__pyx___name, __pyx_v_selector};
- __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_9);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -39351,7 +40680,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__Pyx_INCREF(__pyx_v_selector);
__Pyx_GIVEREF(__pyx_v_selector);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_v_selector);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -39369,14 +40698,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1875, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 1875, __pyx_L1_error)
+ __PYX_ERR(1, 1954, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1874
+ /* "dependency_injector/providers.pyx":1953
*
* if value is UNDEFINED:
* if self._is_strict_mode_enabled() or required: # <<<<<<<<<<<<<<
@@ -39385,7 +40714,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
*/
}
- /* "dependency_injector/providers.pyx":1876
+ /* "dependency_injector/providers.pyx":1955
* if self._is_strict_mode_enabled() or required:
* raise Error('Undefined configuration option "{0}.{1}"'.format(self.__name, selector))
* return None # <<<<<<<<<<<<<<
@@ -39396,7 +40725,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1873
+ /* "dependency_injector/providers.pyx":1952
* value = value.get(key, UNDEFINED)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
@@ -39406,7 +40735,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
}
}
- /* "dependency_injector/providers.pyx":1878
+ /* "dependency_injector/providers.pyx":1957
* return None
*
* return value # <<<<<<<<<<<<<<
@@ -39418,8 +40747,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
__pyx_r = __pyx_v_value;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1849
- * return self
+ /* "dependency_injector/providers.pyx":1928
+ * self.from_pydantic(settings, required=required)
*
* def get(self, selector, required=False): # <<<<<<<<<<<<<<
* """Return configuration option.
@@ -39445,7 +40774,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1880
+/* "dependency_injector/providers.pyx":1959
* return value
*
* def set(self, selector, value): # <<<<<<<<<<<<<<
@@ -39454,9 +40783,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_30get
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_32set[] = "Override configuration option.\n\n :param selector: Selector string, e.g. \"option1.option2\"\n :type selector: str\n\n :param value: Overriding value\n :type value: Any\n\n :return: Overriding context.\n :rtype: :py:class:`OverridingContext`\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_46set[] = "Override configuration option.\n\n :param selector: Selector string, e.g. \"option1.option2\"\n :type selector: str\n\n :param value: Overriding value\n :type value: Any\n\n :return: Overriding context.\n :rtype: :py:class:`OverridingContext`\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_selector = 0;
PyObject *__pyx_v_value = 0;
int __pyx_lineno = 0;
@@ -39488,11 +40817,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, 1); __PYX_ERR(1, 1880, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, 1); __PYX_ERR(1, 1959, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set") < 0)) __PYX_ERR(1, 1880, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set") < 0)) __PYX_ERR(1, 1959, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -39505,20 +40834,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_33set
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1880, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1959, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_32set(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_selector, __pyx_v_value);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_46set(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_selector, __pyx_v_value);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_value) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46set(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_selector, PyObject *__pyx_v_value) {
PyObject *__pyx_v_original_value = NULL;
PyObject *__pyx_v_current_value = NULL;
PyObject *__pyx_v_keys = NULL;
@@ -39539,14 +40868,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set", 0);
- /* "dependency_injector/providers.pyx":1892
+ /* "dependency_injector/providers.pyx":1971
* :rtype: :py:class:`OverridingContext`
* """
* original_value = current_value = deepcopy(self.__call__()) # <<<<<<<<<<<<<<
*
* keys = selector.split('.')
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1892, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1971, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -39560,10 +40889,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1892, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1971, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1892, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1971, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_INCREF(__pyx_t_2);
@@ -39572,14 +40901,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
__pyx_v_current_value = __pyx_t_2;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1894
+ /* "dependency_injector/providers.pyx":1973
* original_value = current_value = deepcopy(self.__call__())
*
* keys = selector.split('.') # <<<<<<<<<<<<<<
* while len(keys) > 0:
* key = keys.pop(0)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_selector, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1894, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_selector, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -39593,13 +40922,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_s__6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s__6);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1894, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_keys = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1895
+ /* "dependency_injector/providers.pyx":1974
*
* keys = selector.split('.')
* while len(keys) > 0: # <<<<<<<<<<<<<<
@@ -39607,43 +40936,43 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
* if len(keys) == 0:
*/
while (1) {
- __pyx_t_4 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1895, __pyx_L1_error)
+ __pyx_t_4 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1974, __pyx_L1_error)
__pyx_t_5 = ((__pyx_t_4 > 0) != 0);
if (!__pyx_t_5) break;
- /* "dependency_injector/providers.pyx":1896
+ /* "dependency_injector/providers.pyx":1975
* keys = selector.split('.')
* while len(keys) > 0:
* key = keys.pop(0) # <<<<<<<<<<<<<<
* if len(keys) == 0:
* current_value[key] = value
*/
- __pyx_t_2 = __Pyx_PyObject_PopIndex(__pyx_v_keys, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1896, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_PopIndex(__pyx_v_keys, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1975, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1897
+ /* "dependency_injector/providers.pyx":1976
* while len(keys) > 0:
* key = keys.pop(0)
* if len(keys) == 0: # <<<<<<<<<<<<<<
* current_value[key] = value
* break
*/
- __pyx_t_4 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1897, __pyx_L1_error)
+ __pyx_t_4 = PyObject_Length(__pyx_v_keys); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 1976, __pyx_L1_error)
__pyx_t_5 = ((__pyx_t_4 == 0) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":1898
+ /* "dependency_injector/providers.pyx":1977
* key = keys.pop(0)
* if len(keys) == 0:
* current_value[key] = value # <<<<<<<<<<<<<<
* break
* temp_value = current_value.get(key, {})
*/
- if (unlikely(PyObject_SetItem(__pyx_v_current_value, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 1898, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_current_value, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(1, 1977, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1899
+ /* "dependency_injector/providers.pyx":1978
* if len(keys) == 0:
* current_value[key] = value
* break # <<<<<<<<<<<<<<
@@ -39652,7 +40981,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
*/
goto __pyx_L4_break;
- /* "dependency_injector/providers.pyx":1897
+ /* "dependency_injector/providers.pyx":1976
* while len(keys) > 0:
* key = keys.pop(0)
* if len(keys) == 0: # <<<<<<<<<<<<<<
@@ -39661,16 +40990,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
*/
}
- /* "dependency_injector/providers.pyx":1900
+ /* "dependency_injector/providers.pyx":1979
* current_value[key] = value
* break
* temp_value = current_value.get(key, {}) # <<<<<<<<<<<<<<
* current_value[key] = temp_value
* current_value = temp_value
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_value, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_value, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
@@ -39687,7 +41016,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_key, __pyx_t_3};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -39696,14 +41025,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_key, __pyx_t_3};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -39714,7 +41043,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1900, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -39722,16 +41051,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
__Pyx_XDECREF_SET(__pyx_v_temp_value, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1901
+ /* "dependency_injector/providers.pyx":1980
* break
* temp_value = current_value.get(key, {})
* current_value[key] = temp_value # <<<<<<<<<<<<<<
* current_value = temp_value
*
*/
- if (unlikely(PyObject_SetItem(__pyx_v_current_value, __pyx_v_key, __pyx_v_temp_value) < 0)) __PYX_ERR(1, 1901, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_current_value, __pyx_v_key, __pyx_v_temp_value) < 0)) __PYX_ERR(1, 1980, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":1902
+ /* "dependency_injector/providers.pyx":1981
* temp_value = current_value.get(key, {})
* current_value[key] = temp_value
* current_value = temp_value # <<<<<<<<<<<<<<
@@ -39743,7 +41072,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
}
__pyx_L4_break:;
- /* "dependency_injector/providers.pyx":1904
+ /* "dependency_injector/providers.pyx":1983
* current_value = temp_value
*
* return self.override(original_value) # <<<<<<<<<<<<<<
@@ -39751,7 +41080,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
* def override(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1904, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -39765,14 +41094,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
}
__pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_8, __pyx_v_original_value) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_original_value);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1904, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1880
+ /* "dependency_injector/providers.pyx":1959
* return value
*
* def set(self, selector, value): # <<<<<<<<<<<<<<
@@ -39800,7 +41129,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1906
+/* "dependency_injector/providers.pyx":1985
* return self.override(original_value)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -39809,20 +41138,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_32set
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_35override(PyObject *__pyx_v_self, PyObject *__pyx_v_provider); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_34override[] = "Override provider with another provider.\n\n :param provider: Overriding provider.\n :type provider: :py:class:`Provider`\n\n :raise: :py:exc:`dependency_injector.errors.Error`\n\n :return: Overriding context.\n :rtype: :py:class:`OverridingContext`\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_35override(PyObject *__pyx_v_self, PyObject *__pyx_v_provider) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49override(PyObject *__pyx_v_self, PyObject *__pyx_v_provider); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_48override[] = "Override provider with another provider.\n\n :param provider: Overriding provider.\n :type provider: :py:class:`Provider`\n\n :raise: :py:exc:`dependency_injector.errors.Error`\n\n :return: Overriding context.\n :rtype: :py:class:`OverridingContext`\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49override(PyObject *__pyx_v_self, PyObject *__pyx_v_provider) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("override (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_34override(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_provider));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_48override(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_provider));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_provider) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_provider) {
PyObject *__pyx_v_context = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -39834,14 +41163,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":1917
+ /* "dependency_injector/providers.pyx":1996
* :rtype: :py:class:`OverridingContext`
* """
* context = super().override(provider) # <<<<<<<<<<<<<<
* self.reset_cache()
* return context
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1917, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
@@ -39849,10 +41178,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1917, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1917, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -39867,20 +41196,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1917, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1996, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_context = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1918
+ /* "dependency_injector/providers.pyx":1997
* """
* context = super().override(provider)
* self.reset_cache() # <<<<<<<<<<<<<<
* return context
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1918, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -39894,12 +41223,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1918, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1919
+ /* "dependency_injector/providers.pyx":1998
* context = super().override(provider)
* self.reset_cache()
* return context # <<<<<<<<<<<<<<
@@ -39911,7 +41240,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
__pyx_r = __pyx_v_context;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":1906
+ /* "dependency_injector/providers.pyx":1985
* return self.override(original_value)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -39933,7 +41262,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1921
+/* "dependency_injector/providers.pyx":2000
* return context
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -39942,20 +41271,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_34ove
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_37reset_last_overriding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_36reset_last_overriding[] = "Reset last overriding provider.\n\n :raise: :py:exc:`dependency_injector.errors.Error` if provider is not\n overridden.\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_37reset_last_overriding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51reset_last_overriding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_50reset_last_overriding[] = "Reset last overriding provider.\n\n :raise: :py:exc:`dependency_injector.errors.Error` if provider is not\n overridden.\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51reset_last_overriding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reset_last_overriding (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_36reset_last_overriding(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_50reset_last_overriding(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36reset_last_overriding(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50reset_last_overriding(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -39966,14 +41295,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/providers.pyx":1929
+ /* "dependency_injector/providers.pyx":2008
* :rtype: None
* """
* super().reset_last_overriding() # <<<<<<<<<<<<<<
* self.reset_cache()
*
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1929, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
@@ -39981,10 +41310,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1929, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1929, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -39999,19 +41328,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1929, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1930
+ /* "dependency_injector/providers.pyx":2009
* """
* super().reset_last_overriding()
* self.reset_cache() # <<<<<<<<<<<<<<
*
* def reset_override(self):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1930, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -40025,12 +41354,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1930, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1921
+ /* "dependency_injector/providers.pyx":2000
* return context
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -40053,7 +41382,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1932
+/* "dependency_injector/providers.pyx":2011
* self.reset_cache()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -40062,20 +41391,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_36res
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_39reset_override(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_38reset_override[] = "Reset all overriding providers.\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_39reset_override(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53reset_override(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_52reset_override[] = "Reset all overriding providers.\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53reset_override(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reset_override (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_38reset_override(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_52reset_override(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38reset_override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52reset_override(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -40086,14 +41415,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/providers.pyx":1937
+ /* "dependency_injector/providers.pyx":2016
* :rtype: None
* """
* super().reset_override() # <<<<<<<<<<<<<<
* self.reset_cache()
*
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1937, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
@@ -40101,10 +41430,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1937, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1937, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -40119,19 +41448,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1937, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1938
+ /* "dependency_injector/providers.pyx":2017
* """
* super().reset_override()
* self.reset_cache() # <<<<<<<<<<<<<<
*
* def reset_cache(self):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1938, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -40145,12 +41474,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1938, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1932
+ /* "dependency_injector/providers.pyx":2011
* self.reset_cache()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -40173,7 +41502,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1940
+/* "dependency_injector/providers.pyx":2019
* self.reset_cache()
*
* def reset_cache(self): # <<<<<<<<<<<<<<
@@ -40182,20 +41511,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_38res
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_41reset_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_40reset_cache[] = "Reset children providers cache.\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_41reset_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_55reset_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_54reset_cache[] = "Reset children providers cache.\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_55reset_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reset_cache (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_40reset_cache(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_54reset_cache(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40reset_cache(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54reset_cache(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
PyObject *__pyx_v_provider = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -40213,7 +41542,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_cache", 0);
- /* "dependency_injector/providers.pyx":1945
+ /* "dependency_injector/providers.pyx":2024
* :rtype: None
* """
* for provider in self.__children.values(): # <<<<<<<<<<<<<<
@@ -40222,17 +41551,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
*/
if (unlikely(__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 1945, __pyx_L1_error)
+ __PYX_ERR(1, 2024, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2024, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -40240,17 +41569,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 2024, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 2024, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1945, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -40260,7 +41589,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1945, __pyx_L1_error)
+ else __PYX_ERR(1, 2024, __pyx_L1_error)
}
break;
}
@@ -40269,14 +41598,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1946
+ /* "dependency_injector/providers.pyx":2025
* """
* for provider in self.__children.values():
* provider.reset_cache() # <<<<<<<<<<<<<<
*
* for provider in self.overrides:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1946, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2025, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -40290,12 +41619,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1946, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2025, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1945
+ /* "dependency_injector/providers.pyx":2024
* :rtype: None
* """
* for provider in self.__children.values(): # <<<<<<<<<<<<<<
@@ -40305,22 +41634,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1948
+ /* "dependency_injector/providers.pyx":2027
* provider.reset_cache()
*
* for provider in self.overrides: # <<<<<<<<<<<<<<
* if isinstance(provider, (Configuration, ConfigurationOption)):
* provider.reset_cache()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overrides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overrides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2027, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -40328,17 +41657,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 2027, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 2027, __pyx_L1_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1948, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -40348,7 +41677,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1948, __pyx_L1_error)
+ else __PYX_ERR(1, 2027, __pyx_L1_error)
}
break;
}
@@ -40357,7 +41686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1949
+ /* "dependency_injector/providers.pyx":2028
*
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)): # <<<<<<<<<<<<<<
@@ -40378,14 +41707,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":1950
+ /* "dependency_injector/providers.pyx":2029
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)):
* provider.reset_cache() # <<<<<<<<<<<<<<
*
* def update(self, value):
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1950, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_cache); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2029, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -40399,12 +41728,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1950, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2029, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":1949
+ /* "dependency_injector/providers.pyx":2028
*
* for provider in self.overrides:
* if isinstance(provider, (Configuration, ConfigurationOption)): # <<<<<<<<<<<<<<
@@ -40413,7 +41742,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
*/
}
- /* "dependency_injector/providers.pyx":1948
+ /* "dependency_injector/providers.pyx":2027
* provider.reset_cache()
*
* for provider in self.overrides: # <<<<<<<<<<<<<<
@@ -40423,7 +41752,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1940
+ /* "dependency_injector/providers.pyx":2019
* self.reset_cache()
*
* def reset_cache(self): # <<<<<<<<<<<<<<
@@ -40448,7 +41777,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1952
+/* "dependency_injector/providers.pyx":2031
* provider.reset_cache()
*
* def update(self, value): # <<<<<<<<<<<<<<
@@ -40457,20 +41786,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_40res
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_43update(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_42update[] = "Set configuration options.\n\n .. deprecated:: 3.11\n\n Use :py:meth:`Configuration.override` instead.\n\n :param value: Value of configuration option.\n :type value: object | dict\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_43update(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_57update(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_56update[] = "Set configuration options.\n\n .. deprecated:: 3.11\n\n Use :py:meth:`Configuration.override` instead.\n\n :param value: Value of configuration option.\n :type value: object | dict\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_57update(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_42update(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_56update(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42update(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56update(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -40481,14 +41810,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42upd
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("update", 0);
- /* "dependency_injector/providers.pyx":1964
+ /* "dependency_injector/providers.pyx":2043
* :rtype: None
* """
* self.override(value) # <<<<<<<<<<<<<<
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False):
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1964, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -40502,12 +41831,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42upd
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1964, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":1952
+ /* "dependency_injector/providers.pyx":2031
* provider.reset_cache()
*
* def update(self, value): # <<<<<<<<<<<<<<
@@ -40530,18 +41859,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_42upd
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":1966
+/* "dependency_injector/providers.pyx":2045
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45from_ini(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_44from_ini[] = "Load configuration from the ini file.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param filepath: Path to the configuration file.\n :type filepath: str\n\n :param required: When required is True, raise an exception if file does not exist.\n :type required: bool\n\n :param envs_required: When True, raises an error on undefined environment variable.\n :type envs_required: bool\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45from_ini(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_59from_ini(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_58from_ini[] = "Load configuration from the ini file.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param filepath: Path to the configuration file.\n :type filepath: str\n\n :param required: When required is True, raise an exception if file does not exist.\n :type required: bool\n\n :param envs_required: When True, raises an error on undefined environment variable.\n :type envs_required: bool\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_59from_ini(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_filepath = 0;
PyObject *__pyx_v_required = 0;
PyObject *__pyx_v_envs_required = 0;
@@ -40554,8 +41883,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45fro
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filepath,&__pyx_n_s_required,&__pyx_n_s_envs_required,0};
PyObject* values[3] = {0,0,0};
- values[1] = __pyx_k__20;
- values[2] = ((PyObject *)Py_False);
+ values[1] = __pyx_k__24;
+ values[2] = __pyx_k__25;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -40588,7 +41917,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45fro
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_ini") < 0)) __PYX_ERR(1, 1966, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_ini") < 0)) __PYX_ERR(1, 2045, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -40607,20 +41936,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_45fro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_ini", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1966, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_ini", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2045, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_44from_ini(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_filepath, __pyx_v_required, __pyx_v_envs_required);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_58from_ini(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_filepath, __pyx_v_required, __pyx_v_envs_required);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44from_ini(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58from_ini(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_envs_required) {
PyObject *__pyx_v_parser = NULL;
PyObject *__pyx_v_exception = NULL;
PyObject *__pyx_v_config = NULL;
@@ -40635,8 +41964,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
- int __pyx_t_8;
- PyObject *__pyx_t_9 = NULL;
+ PyObject *__pyx_t_8 = NULL;
+ int __pyx_t_9;
PyObject *__pyx_t_10 = NULL;
PyObject *__pyx_t_11 = NULL;
int __pyx_t_12;
@@ -40649,7 +41978,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_ini", 0);
- /* "dependency_injector/providers.pyx":1982
+ /* "dependency_injector/providers.pyx":2061
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -40665,77 +41994,77 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":1983
+ /* "dependency_injector/providers.pyx":2062
* """
* try:
* parser = _parse_ini_file( # <<<<<<<<<<<<<<
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_parse_ini_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1983, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_parse_ini_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2062, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":1984
+ /* "dependency_injector/providers.pyx":2063
* try:
* parser = _parse_ini_file(
* filepath, # <<<<<<<<<<<<<<
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
*/
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1983, __pyx_L3_error)
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2062, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_filepath);
__Pyx_GIVEREF(__pyx_v_filepath);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_filepath);
- /* "dependency_injector/providers.pyx":1985
+ /* "dependency_injector/providers.pyx":2064
* parser = _parse_ini_file(
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
* )
* except IOError as exception:
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1985, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2064, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 1985, __pyx_L3_error)
- if (!__pyx_t_8) {
- } else {
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2064, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_9 = (__pyx_v_envs_required != __pyx_t_8);
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if ((__pyx_t_9 != 0)) {
__Pyx_INCREF(__pyx_v_envs_required);
__pyx_t_7 = __pyx_v_envs_required;
- goto __pyx_L9_bool_binop_done;
- }
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1985, __pyx_L3_error)
- __Pyx_GOTREF(__pyx_t_10);
- __pyx_t_11 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
- if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
- __Pyx_INCREF(__pyx_t_11);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_10, function);
+ } else {
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2064, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_10);
+ __pyx_t_11 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+ if (likely(__pyx_t_11)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+ __Pyx_INCREF(__pyx_t_11);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_10, function);
+ }
}
+ __pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+ __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2064, __pyx_L3_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __pyx_t_7 = __pyx_t_8;
+ __pyx_t_8 = 0;
}
- __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1985, __pyx_L3_error)
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_7 = __pyx_t_9;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_L9_bool_binop_done:;
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_envs_required, __pyx_t_7) < 0) __PYX_ERR(1, 1985, __pyx_L3_error)
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_envs_required, __pyx_t_7) < 0) __PYX_ERR(1, 2064, __pyx_L3_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1983
+ /* "dependency_injector/providers.pyx":2062
* """
* try:
* parser = _parse_ini_file( # <<<<<<<<<<<<<<
* filepath,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1983, __pyx_L3_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2062, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -40743,7 +42072,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__pyx_v_parser = __pyx_t_7;
__pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1982
+ /* "dependency_injector/providers.pyx":2061
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -40762,10 +42091,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/providers.pyx":1987
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ /* "dependency_injector/providers.pyx":2066
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
* except IOError as exception: # <<<<<<<<<<<<<<
* if required is not False \
@@ -40774,14 +42103,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IOError);
if (__pyx_t_12) {
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 1987, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 2066, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__pyx_v_exception = __pyx_t_6;
- /* "dependency_injector/providers.pyx":1988
+ /* "dependency_injector/providers.pyx":2067
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -40792,128 +42121,128 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__pyx_t_14 = (__pyx_t_13 != 0);
if (__pyx_t_14) {
} else {
- __pyx_t_8 = __pyx_t_14;
- goto __pyx_L14_bool_binop_done;
+ __pyx_t_9 = __pyx_t_14;
+ goto __pyx_L12_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":1989
+ /* "dependency_injector/providers.pyx":2068
* except IOError as exception:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1989, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2068, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
__pyx_t_10 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
- __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_10)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_9, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
}
}
- __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
+ __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1989, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2068, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1989, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 2068, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (!__pyx_t_14) {
} else {
- goto __pyx_L16_next_and;
+ goto __pyx_L14_next_and;
}
__pyx_t_14 = (__pyx_v_required == Py_True);
__pyx_t_13 = (__pyx_t_14 != 0);
if (__pyx_t_13) {
} else {
- __pyx_t_8 = __pyx_t_13;
- goto __pyx_L14_bool_binop_done;
+ __pyx_t_9 = __pyx_t_13;
+ goto __pyx_L12_bool_binop_done;
}
- __pyx_L16_next_and:;
+ __pyx_L14_next_and:;
- /* "dependency_injector/providers.pyx":1990
+ /* "dependency_injector/providers.pyx":2069
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR): # <<<<<<<<<<<<<<
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_errno); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_errno); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (!__pyx_t_14) {
} else {
__pyx_t_13 = __pyx_t_14;
- goto __pyx_L18_bool_binop_done;
+ goto __pyx_L16_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_errno); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_errno); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 1990, __pyx_L5_except_error)
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(1, 2069, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_13 = __pyx_t_14;
- __pyx_L18_bool_binop_done:;
+ __pyx_L16_bool_binop_done:;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_14 = (__pyx_t_13 != 0);
- __pyx_t_8 = __pyx_t_14;
- __pyx_L14_bool_binop_done:;
+ __pyx_t_9 = __pyx_t_14;
+ __pyx_L12_bool_binop_done:;
- /* "dependency_injector/providers.pyx":1988
+ /* "dependency_injector/providers.pyx":2067
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
*/
- if (unlikely(__pyx_t_8)) {
+ if (unlikely(__pyx_t_9)) {
- /* "dependency_injector/providers.pyx":1991
+ /* "dependency_injector/providers.pyx":2070
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror) # <<<<<<<<<<<<<<
* raise
* return
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 1991, __pyx_L5_except_error)
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 1991, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2070, __pyx_L5_except_error)
+ __Pyx_GOTREF(__pyx_t_8);
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2070, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+ __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_11)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_9, function);
+ __Pyx_DECREF_SET(__pyx_t_8, function);
}
}
- __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
+ __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1991, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2070, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_4) < 0) __PYX_ERR(1, 1991, __pyx_L5_except_error)
+ __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_4) < 0) __PYX_ERR(1, 2070, __pyx_L5_except_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":1992
+ /* "dependency_injector/providers.pyx":2071
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise # <<<<<<<<<<<<<<
@@ -40925,9 +42254,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_6, __pyx_t_5);
__pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0;
- __PYX_ERR(1, 1992, __pyx_L5_except_error)
+ __PYX_ERR(1, 2071, __pyx_L5_except_error)
- /* "dependency_injector/providers.pyx":1988
+ /* "dependency_injector/providers.pyx":2067
* )
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -40936,7 +42265,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
*/
}
- /* "dependency_injector/providers.pyx":1993
+ /* "dependency_injector/providers.pyx":2072
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
* return # <<<<<<<<<<<<<<
@@ -40953,7 +42282,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":1982
+ /* "dependency_injector/providers.pyx":2061
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -40974,26 +42303,26 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":1995
+ /* "dependency_injector/providers.pyx":2074
* return
*
* config = {} # <<<<<<<<<<<<<<
* for section in parser.sections():
* config[section] = dict(parser.items(section))
*/
- __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1995, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2074, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_config = ((PyObject*)__pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1996
+ /* "dependency_injector/providers.pyx":2075
*
* config = {}
* for section in parser.sections(): # <<<<<<<<<<<<<<
* config[section] = dict(parser.items(section))
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_sections); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_sections); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2075, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -41007,16 +42336,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2075, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_15 = 0;
__pyx_t_16 = NULL;
} else {
- __pyx_t_15 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_15 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2075, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_16 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_16 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 2075, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -41024,17 +42353,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 2075, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2075, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(1, 2075, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1996, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2075, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -41044,7 +42373,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 1996, __pyx_L1_error)
+ else __PYX_ERR(1, 2075, __pyx_L1_error)
}
break;
}
@@ -41053,14 +42382,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_XDECREF_SET(__pyx_v_section, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":1997
+ /* "dependency_injector/providers.pyx":2076
* config = {}
* for section in parser.sections():
* config[section] = dict(parser.items(section)) # <<<<<<<<<<<<<<
*
* current_config = self.__call__()
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_items); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1997, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_items); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2076, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -41074,16 +42403,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_section) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_section);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1997, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2076, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyDict_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1997, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyDict_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2076, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(PyDict_SetItem(__pyx_v_config, __pyx_v_section, __pyx_t_7) < 0)) __PYX_ERR(1, 1997, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_config, __pyx_v_section, __pyx_t_7) < 0)) __PYX_ERR(1, 2076, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1996
+ /* "dependency_injector/providers.pyx":2075
*
* config = {}
* for section in parser.sections(): # <<<<<<<<<<<<<<
@@ -41093,14 +42422,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1999
+ /* "dependency_injector/providers.pyx":2078
* config[section] = dict(parser.items(section))
*
* current_config = self.__call__() # <<<<<<<<<<<<<<
* if not current_config:
* current_config = {}
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1999, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -41114,36 +42443,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
}
__pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 1999, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_current_config = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2000
+ /* "dependency_injector/providers.pyx":2079
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
* current_config = {}
* self.override(merge_dicts(current_config, config))
*/
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 2000, __pyx_L1_error)
- __pyx_t_14 = ((!__pyx_t_8) != 0);
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 2079, __pyx_L1_error)
+ __pyx_t_14 = ((!__pyx_t_9) != 0);
if (__pyx_t_14) {
- /* "dependency_injector/providers.pyx":2001
+ /* "dependency_injector/providers.pyx":2080
* current_config = self.__call__()
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
* self.override(merge_dicts(current_config, config))
*
*/
- __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2001, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2000
+ /* "dependency_injector/providers.pyx":2079
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
@@ -41152,24 +42481,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
*/
}
- /* "dependency_injector/providers.pyx":2002
+ /* "dependency_injector/providers.pyx":2081
* if not current_config:
* current_config = {}
* self.override(merge_dicts(current_config, config)) # <<<<<<<<<<<<<<
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False):
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED):
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2002, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2002, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = NULL;
+ __pyx_t_8 = NULL;
__pyx_t_12 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
- __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
- if (likely(__pyx_t_9)) {
+ __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+ if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
- __Pyx_INCREF(__pyx_t_9);
+ __Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_12 = 1;
@@ -41177,25 +42506,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2002, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_config};
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2081, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
- PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2002, __pyx_L1_error)
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+ PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_config};
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2081, __pyx_L1_error)
+ __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2002, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- if (__pyx_t_9) {
- __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
+ if (__pyx_t_8) {
+ __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_current_config);
__Pyx_GIVEREF(__pyx_v_current_config);
@@ -41203,7 +42532,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_INCREF(__pyx_v_config);
__Pyx_GIVEREF(__pyx_v_config);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_12, __pyx_v_config);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2002, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -41221,15 +42550,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2002, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":1966
+ /* "dependency_injector/providers.pyx":2045
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
@@ -41242,7 +42571,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
- __Pyx_XDECREF(__pyx_t_9);
+ __Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_ini", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -41258,18 +42587,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_44fro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2004
+/* "dependency_injector/providers.pyx":2083
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47from_yaml(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_46from_yaml[] = "Load configuration from the yaml file.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param filepath: Path to the configuration file.\n :type filepath: str\n\n :param required: When required is True, raise an exception if file does not exist.\n :type required: bool\n\n :param loader: YAML loader, :py:class:`YamlLoader` is used if not specified.\n :type loader: ``yaml.Loader``\n\n :param envs_required: When True, raises an error on undefined environment variable.\n :type envs_required: bool\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47from_yaml(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_61from_yaml(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_60from_yaml[] = "Load configuration from the yaml file.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param filepath: Path to the configuration file.\n :type filepath: str\n\n :param required: When required is True, raise an exception if file does not exist.\n :type required: bool\n\n :param loader: YAML loader, :py:class:`YamlLoader` is used if not specified.\n :type loader: ``yaml.Loader``\n\n :param envs_required: When True, raises an error on undefined environment variable.\n :type envs_required: bool\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_61from_yaml(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_filepath = 0;
PyObject *__pyx_v_required = 0;
PyObject *__pyx_v_loader = 0;
@@ -41283,9 +42612,9 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47fro
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filepath,&__pyx_n_s_required,&__pyx_n_s_loader,&__pyx_n_s_envs_required,0};
PyObject* values[4] = {0,0,0,0};
- values[1] = __pyx_k__21;
+ values[1] = __pyx_k__26;
values[2] = ((PyObject *)Py_None);
- values[3] = ((PyObject *)Py_False);
+ values[3] = __pyx_k__27;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -41326,7 +42655,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47fro
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml") < 0)) __PYX_ERR(1, 2004, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_yaml") < 0)) __PYX_ERR(1, 2083, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -41348,20 +42677,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_47fro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_yaml", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2004, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_yaml", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2083, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_46from_yaml(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_filepath, __pyx_v_required, __pyx_v_loader, __pyx_v_envs_required);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_60from_yaml(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_filepath, __pyx_v_required, __pyx_v_loader, __pyx_v_envs_required);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46from_yaml(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_loader, PyObject *__pyx_v_envs_required) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60from_yaml(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_filepath, PyObject *__pyx_v_required, PyObject *__pyx_v_loader, PyObject *__pyx_v_envs_required) {
PyObject *__pyx_v_opened_file = NULL;
PyObject *__pyx_v_config_content = NULL;
PyObject *__pyx_v_exception = NULL;
@@ -41394,28 +42723,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_RefNannySetupContext("from_yaml", 0);
__Pyx_INCREF(__pyx_v_loader);
- /* "dependency_injector/providers.pyx":2023
+ /* "dependency_injector/providers.pyx":2102
* :rtype: None
* """
* if yaml is None: # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to load yaml configuration - PyYAML is not installed. '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2023, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":2024
+ /* "dependency_injector/providers.pyx":2103
* """
* if yaml is None:
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to load yaml configuration - PyYAML is not installed. '
* 'Install PyYAML or install Dependency Injector with yaml extras: '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2024, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -41429,14 +42758,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Unable_to_load_yaml_configuratio) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Unable_to_load_yaml_configuratio);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2024, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2024, __pyx_L1_error)
+ __PYX_ERR(1, 2103, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2023
+ /* "dependency_injector/providers.pyx":2102
* :rtype: None
* """
* if yaml is None: # <<<<<<<<<<<<<<
@@ -41445,7 +42774,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
}
- /* "dependency_injector/providers.pyx":2030
+ /* "dependency_injector/providers.pyx":2109
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -41456,19 +42785,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":2031
+ /* "dependency_injector/providers.pyx":2110
*
* if loader is None:
* loader = YamlLoader # <<<<<<<<<<<<<<
*
* try:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YamlLoader); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2031, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YamlLoader); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2110, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_loader, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2030
+ /* "dependency_injector/providers.pyx":2109
* )
*
* if loader is None: # <<<<<<<<<<<<<<
@@ -41477,7 +42806,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
}
- /* "dependency_injector/providers.pyx":2033
+ /* "dependency_injector/providers.pyx":2112
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -41493,7 +42822,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XGOTREF(__pyx_t_8);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2034
+ /* "dependency_injector/providers.pyx":2113
*
* try:
* with open(filepath) as opened_file: # <<<<<<<<<<<<<<
@@ -41501,11 +42830,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
* except IOError as exception:
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2034, __pyx_L5_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_filepath); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2113, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2034, __pyx_L5_error)
+ __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2113, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2034, __pyx_L11_error)
+ __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2113, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -41519,7 +42848,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2034, __pyx_L11_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2113, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __pyx_t_4;
@@ -41537,14 +42866,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_v_opened_file = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":2035
+ /* "dependency_injector/providers.pyx":2114
* try:
* with open(filepath) as opened_file:
* config_content = opened_file.read() # <<<<<<<<<<<<<<
* except IOError as exception:
* if required is not False \
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_opened_file, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2035, __pyx_L15_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_opened_file, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2114, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -41558,13 +42887,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2035, __pyx_L15_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2114, __pyx_L15_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_config_content = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":2034
+ /* "dependency_injector/providers.pyx":2113
*
* try:
* with open(filepath) as opened_file: # <<<<<<<<<<<<<<
@@ -41583,20 +42912,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(1, 2034, __pyx_L17_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(1, 2113, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2034, __pyx_L17_except_error)
+ __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2113, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2034, __pyx_L17_except_error)
+ if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2113, __pyx_L17_except_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (__pyx_t_2 < 0) __PYX_ERR(1, 2034, __pyx_L17_except_error)
+ if (__pyx_t_2 < 0) __PYX_ERR(1, 2113, __pyx_L17_except_error)
__pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_5);
@@ -41604,7 +42933,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_4);
__pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0;
- __PYX_ERR(1, 2034, __pyx_L17_except_error)
+ __PYX_ERR(1, 2113, __pyx_L17_except_error)
}
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -41630,7 +42959,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
if (__pyx_t_9) {
__pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 2034, __pyx_L5_error)
+ if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 2113, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -41645,7 +42974,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_L24:;
}
- /* "dependency_injector/providers.pyx":2033
+ /* "dependency_injector/providers.pyx":2112
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -41663,7 +42992,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":2036
+ /* "dependency_injector/providers.pyx":2115
* with open(filepath) as opened_file:
* config_content = opened_file.read()
* except IOError as exception: # <<<<<<<<<<<<<<
@@ -41673,14 +43002,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IOError);
if (__pyx_t_15) {
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(1, 2036, __pyx_L7_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(1, 2115, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__pyx_v_exception = __pyx_t_1;
- /* "dependency_injector/providers.pyx":2037
+ /* "dependency_injector/providers.pyx":2116
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -41695,14 +43024,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
goto __pyx_L28_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2038
+ /* "dependency_injector/providers.pyx":2117
* except IOError as exception:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
*/
- __pyx_t_17 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2038, __pyx_L7_except_error)
+ __pyx_t_17 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2117, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_18 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
@@ -41716,10 +43045,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_t_10 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2038, __pyx_L7_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2117, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2038, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2117, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
if (!__pyx_t_16) {
} else {
@@ -41734,37 +43063,37 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_L30_next_and:;
- /* "dependency_injector/providers.pyx":2039
+ /* "dependency_injector/providers.pyx":2118
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR): # <<<<<<<<<<<<<<
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
*/
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_errno); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
- __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ENOENT); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (!__pyx_t_16) {
} else {
__pyx_t_2 = __pyx_t_16;
goto __pyx_L32_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_errno); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_EISDIR); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_17 = PyObject_RichCompare(__pyx_t_10, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2039, __pyx_L7_except_error)
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(1, 2118, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_2 = __pyx_t_16;
__pyx_L32_bool_binop_done:;
@@ -41773,7 +43102,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_t_3 = __pyx_t_16;
__pyx_L28_bool_binop_done:;
- /* "dependency_injector/providers.pyx":2037
+ /* "dependency_injector/providers.pyx":2116
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -41782,16 +43111,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":2040
+ /* "dependency_injector/providers.pyx":2119
* and (self._is_strict_mode_enabled() or required is True) \
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror) # <<<<<<<<<<<<<<
* raise
* return
*/
- __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2040, __pyx_L7_except_error)
+ __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_load_configuration_fil, __pyx_n_s_format); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2119, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_17);
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2040, __pyx_L7_except_error)
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception, __pyx_n_s_strerror); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2119, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_19 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
@@ -41806,13 +43135,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_t_10 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_19, __pyx_t_18) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_18);
__Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2040, __pyx_L7_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2119, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_10) < 0) __PYX_ERR(1, 2040, __pyx_L7_except_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_exception, __pyx_n_s_strerror, __pyx_t_10) < 0) __PYX_ERR(1, 2119, __pyx_L7_except_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2041
+ /* "dependency_injector/providers.pyx":2120
* and exception.errno in (errno.ENOENT, errno.EISDIR):
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise # <<<<<<<<<<<<<<
@@ -41824,9 +43153,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_5);
__pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0;
- __PYX_ERR(1, 2041, __pyx_L7_except_error)
+ __PYX_ERR(1, 2120, __pyx_L7_except_error)
- /* "dependency_injector/providers.pyx":2037
+ /* "dependency_injector/providers.pyx":2116
* config_content = opened_file.read()
* except IOError as exception:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -41835,7 +43164,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
}
- /* "dependency_injector/providers.pyx":2042
+ /* "dependency_injector/providers.pyx":2121
* exception.strerror = 'Unable to load configuration file {0}'.format(exception.strerror)
* raise
* return # <<<<<<<<<<<<<<
@@ -41852,7 +43181,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
- /* "dependency_injector/providers.pyx":2033
+ /* "dependency_injector/providers.pyx":2112
* loader = YamlLoader
*
* try: # <<<<<<<<<<<<<<
@@ -41873,86 +43202,86 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_L10_try_end:;
}
- /* "dependency_injector/providers.pyx":2044
+ /* "dependency_injector/providers.pyx":2123
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2044, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_resolve_config_env_markers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":2045
+ /* "dependency_injector/providers.pyx":2124
*
* config_content = _resolve_config_env_markers(
* config_content, # <<<<<<<<<<<<<<
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
*/
- if (unlikely(!__pyx_v_config_content)) { __Pyx_RaiseUnboundLocalError("config_content"); __PYX_ERR(1, 2045, __pyx_L1_error) }
+ if (unlikely(!__pyx_v_config_content)) { __Pyx_RaiseUnboundLocalError("config_content"); __PYX_ERR(1, 2124, __pyx_L1_error) }
- /* "dependency_injector/providers.pyx":2044
+ /* "dependency_injector/providers.pyx":2123
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2044, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_config_content);
__Pyx_GIVEREF(__pyx_v_config_content);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_config_content);
- /* "dependency_injector/providers.pyx":2046
+ /* "dependency_injector/providers.pyx":2125
* config_content = _resolve_config_env_markers(
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(), # <<<<<<<<<<<<<<
* )
* config = yaml.load(config_content, loader)
*/
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2046, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2125, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_envs_required); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 2046, __pyx_L1_error)
- if (!__pyx_t_3) {
- } else {
+ __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2125, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_17);
+ __pyx_t_3 = (__pyx_v_envs_required != __pyx_t_17);
+ __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+ if ((__pyx_t_3 != 0)) {
__Pyx_INCREF(__pyx_v_envs_required);
__pyx_t_10 = __pyx_v_envs_required;
- goto __pyx_L34_bool_binop_done;
- }
- __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2046, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_18);
- __pyx_t_19 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) {
- __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18);
- if (likely(__pyx_t_19)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
- __Pyx_INCREF(__pyx_t_19);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_18, function);
+ } else {
+ __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2125, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_18);
+ __pyx_t_19 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) {
+ __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18);
+ if (likely(__pyx_t_19)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
+ __Pyx_INCREF(__pyx_t_19);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_18, function);
+ }
}
+ __pyx_t_17 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_18);
+ __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+ if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2125, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_17);
+ __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+ __pyx_t_10 = __pyx_t_17;
+ __pyx_t_17 = 0;
}
- __pyx_t_17 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_18);
- __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
- if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 2046, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_17);
- __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
- __Pyx_INCREF(__pyx_t_17);
- __pyx_t_10 = __pyx_t_17;
- __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
- __pyx_L34_bool_binop_done:;
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_envs_required, __pyx_t_10) < 0) __PYX_ERR(1, 2046, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_envs_required, __pyx_t_10) < 0) __PYX_ERR(1, 2125, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2044
+ /* "dependency_injector/providers.pyx":2123
* return
*
* config_content = _resolve_config_env_markers( # <<<<<<<<<<<<<<
* config_content,
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
*/
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2044, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -41960,16 +43289,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_XDECREF_SET(__pyx_v_config_content, __pyx_t_10);
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2048
- * envs_required=envs_required or self._is_strict_mode_enabled(),
+ /* "dependency_injector/providers.pyx":2127
+ * envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
* )
* config = yaml.load(config_content, loader) # <<<<<<<<<<<<<<
*
* current_config = self.__call__()
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_yaml); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_yaml); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -41987,7 +43316,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_config_content, __pyx_v_loader};
- __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_10);
} else
@@ -41995,13 +43324,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_config_content, __pyx_v_loader};
- __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_10);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -42012,7 +43341,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_INCREF(__pyx_v_loader);
__Pyx_GIVEREF(__pyx_v_loader);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_15, __pyx_v_loader);
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2048, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -42020,14 +43349,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_v_config = __pyx_t_10;
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2050
+ /* "dependency_injector/providers.pyx":2129
* config = yaml.load(config_content, loader)
*
* current_config = self.__call__() # <<<<<<<<<<<<<<
* if not current_config:
* current_config = {}
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2050, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -42041,36 +43370,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
}
__pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2050, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_current_config = __pyx_t_10;
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2051
+ /* "dependency_injector/providers.pyx":2130
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
* current_config = {}
* self.override(merge_dicts(current_config, config))
*/
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 2051, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 2130, __pyx_L1_error)
__pyx_t_16 = ((!__pyx_t_3) != 0);
if (__pyx_t_16) {
- /* "dependency_injector/providers.pyx":2052
+ /* "dependency_injector/providers.pyx":2131
* current_config = self.__call__()
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
* self.override(merge_dicts(current_config, config))
*
*/
- __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2052, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_10);
__pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2051
+ /* "dependency_injector/providers.pyx":2130
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
@@ -42079,16 +43408,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
}
- /* "dependency_injector/providers.pyx":2053
+ /* "dependency_injector/providers.pyx":2132
* if not current_config:
* current_config = {}
* self.override(merge_dicts(current_config, config)) # <<<<<<<<<<<<<<
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_17 = NULL;
__pyx_t_15 = 0;
@@ -42105,7 +43434,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -42113,13 +43442,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_current_config, __pyx_v_config};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_18 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __pyx_t_18 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
if (__pyx_t_17) {
__Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __pyx_t_17 = NULL;
@@ -42130,7 +43459,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__Pyx_INCREF(__pyx_v_config);
__Pyx_GIVEREF(__pyx_v_config);
PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_15, __pyx_v_config);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
}
@@ -42148,15 +43477,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
__pyx_t_10 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2053, __pyx_L1_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- /* "dependency_injector/providers.pyx":2004
+ /* "dependency_injector/providers.pyx":2083
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
@@ -42186,7 +43515,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2055
+/* "dependency_injector/providers.pyx":2134
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
@@ -42195,9 +43524,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_46fro
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49from_pydantic(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_48from_pydantic[] = "Load configuration from pydantic settings.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param settings: Pydantic settings instances.\n :type settings: :py:class:`pydantic.BaseSettings`\n\n :param required: When required is True, raise an exception if settings dict is empty.\n :type required: bool\n\n :param kwargs: Keyword arguments forwarded to ``pydantic.BaseSettings.dict()`` call.\n :type kwargs: Dict[Any, Any]\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49from_pydantic(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_63from_pydantic(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_62from_pydantic[] = "Load configuration from pydantic settings.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param settings: Pydantic settings instances.\n :type settings: :py:class:`pydantic.BaseSettings`\n\n :param required: When required is True, raise an exception if settings dict is empty.\n :type required: bool\n\n :param kwargs: Keyword arguments forwarded to ``pydantic.BaseSettings.dict()`` call.\n :type kwargs: Dict[Any, Any]\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_63from_pydantic(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_settings = 0;
PyObject *__pyx_v_required = 0;
PyObject *__pyx_v_kwargs = 0;
@@ -42212,7 +43541,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49fro
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_settings,&__pyx_n_s_required,0};
PyObject* values[2] = {0,0};
- values[1] = __pyx_k__22;
+ values[1] = __pyx_k__28;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -42237,7 +43566,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49fro
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "from_pydantic") < 0)) __PYX_ERR(1, 2055, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "from_pydantic") < 0)) __PYX_ERR(1, 2134, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -42253,14 +43582,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49fro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_pydantic", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2055, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_pydantic", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2134, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_pydantic", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_48from_pydantic(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_settings, __pyx_v_required, __pyx_v_kwargs);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_62from_pydantic(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_settings, __pyx_v_required, __pyx_v_kwargs);
/* function exit code */
__Pyx_XDECREF(__pyx_v_kwargs);
@@ -42268,7 +43597,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_49fro
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48from_pydantic(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings, PyObject *__pyx_v_required, PyObject *__pyx_v_kwargs) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_62from_pydantic(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_settings, PyObject *__pyx_v_required, PyObject *__pyx_v_kwargs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -42285,28 +43614,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_pydantic", 0);
- /* "dependency_injector/providers.pyx":2071
+ /* "dependency_injector/providers.pyx":2150
* :rtype: None
* """
* if pydantic is None: # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to load pydantic configuration - pydantic is not installed. '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2071, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2150, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":2072
+ /* "dependency_injector/providers.pyx":2151
* """
* if pydantic is None:
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to load pydantic configuration - pydantic is not installed. '
* 'Install pydantic or install Dependency Injector with pydantic extras: '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2072, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -42320,14 +43649,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_Unable_to_load_pydantic_configur) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Unable_to_load_pydantic_configur);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2072, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2072, __pyx_L1_error)
+ __PYX_ERR(1, 2151, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2071
+ /* "dependency_injector/providers.pyx":2150
* :rtype: None
* """
* if pydantic is None: # <<<<<<<<<<<<<<
@@ -42336,7 +43665,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
*/
}
- /* "dependency_injector/providers.pyx":2078
+ /* "dependency_injector/providers.pyx":2157
* )
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -42345,7 +43674,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
*/
__pyx_t_1 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2078, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2157, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = (__pyx_t_2 != 0);
if (__pyx_t_6) {
@@ -42353,38 +43682,38 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
__pyx_t_3 = __pyx_t_6;
goto __pyx_L5_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2078, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2157, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2078, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2157, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_6 = PyObject_IsSubclass(__pyx_v_settings, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 2078, __pyx_L1_error)
+ __pyx_t_6 = PyObject_IsSubclass(__pyx_v_settings, __pyx_t_4); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 2157, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_2 = (__pyx_t_6 != 0);
__pyx_t_3 = __pyx_t_2;
__pyx_L5_bool_binop_done:;
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":2079
+ /* "dependency_injector/providers.pyx":2158
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings):
* raise Error( # <<<<<<<<<<<<<<
* 'Got settings class, but expect instance: '
* 'instead "{0}" use "{0}()"'.format(settings.__name__)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2079, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":2081
+ /* "dependency_injector/providers.pyx":2160
* raise Error(
* 'Got settings class, but expect instance: '
* 'instead "{0}" use "{0}()"'.format(settings.__name__) # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Got_settings_class_but_expect_in, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2081, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Got_settings_class_but_expect_in, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2081, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -42399,7 +43728,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
__pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2081, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
@@ -42415,14 +43744,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2079, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 2079, __pyx_L1_error)
+ __PYX_ERR(1, 2158, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2078
+ /* "dependency_injector/providers.pyx":2157
* )
*
* if isinstance(settings, CLASS_TYPES) and issubclass(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -42431,41 +43760,41 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
*/
}
- /* "dependency_injector/providers.pyx":2084
+ /* "dependency_injector/providers.pyx":2163
* )
*
* if not isinstance(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
* raise Error(
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2084, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydantic); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2163, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2084, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_BaseSettings); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2163, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 2084, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_settings, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 2163, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":2085
+ /* "dependency_injector/providers.pyx":2164
*
* if not isinstance(settings, pydantic.BaseSettings):
* raise Error( # <<<<<<<<<<<<<<
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
* 'got {0} instead'.format(settings)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2085, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":2087
+ /* "dependency_injector/providers.pyx":2166
* raise Error(
* 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
* 'got {0} instead'.format(settings) # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_recognize_settings_ins, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2087, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_recognize_settings_ins, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
@@ -42479,7 +43808,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
}
__pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_settings) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_settings);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2087, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
@@ -42495,14 +43824,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2085, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2164, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2085, __pyx_L1_error)
+ __PYX_ERR(1, 2164, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2084
+ /* "dependency_injector/providers.pyx":2163
* )
*
* if not isinstance(settings, pydantic.BaseSettings): # <<<<<<<<<<<<<<
@@ -42511,36 +43840,39 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
*/
}
- /* "dependency_injector/providers.pyx":2090
+ /* "dependency_injector/providers.pyx":2169
* )
*
* self.from_dict(settings.dict(**kwargs), required=required) # <<<<<<<<<<<<<<
*
* def from_dict(self, options, required=UNDEFINED):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2090, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_dict_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2090, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_settings, __pyx_n_s_dict_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2090, __pyx_L1_error)
+ __pyx_t_5 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2090, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_GIVEREF(__pyx_t_5);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
- __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2090, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_5);
- if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 2090, __pyx_L1_error)
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2090, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2169, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2169, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_required, __pyx_v_required) < 0) __PYX_ERR(1, 2169, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2169, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2055
+ /* "dependency_injector/providers.pyx":2134
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
@@ -42566,7 +43898,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2092
+/* "dependency_injector/providers.pyx":2171
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -42575,9 +43907,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_48fro
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51from_dict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_50from_dict[] = "Load configuration from the dictionary.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param options: Configuration options.\n :type options: dict\n\n :param required: When required is True, raise an exception if dictionary is empty.\n :type required: bool\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51from_dict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_65from_dict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_64from_dict[] = "Load configuration from the dictionary.\n\n Loaded configuration is merged recursively over existing configuration.\n\n :param options: Configuration options.\n :type options: dict\n\n :param required: When required is True, raise an exception if dictionary is empty.\n :type required: bool\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_65from_dict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_options = 0;
PyObject *__pyx_v_required = 0;
int __pyx_lineno = 0;
@@ -42589,7 +43921,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51fro
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_options,&__pyx_n_s_required,0};
PyObject* values[2] = {0,0};
- values[1] = __pyx_k__23;
+ values[1] = __pyx_k__29;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -42614,7 +43946,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51fro
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_dict") < 0)) __PYX_ERR(1, 2092, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_dict") < 0)) __PYX_ERR(1, 2171, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -42630,20 +43962,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_51fro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_dict", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2092, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_dict", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2171, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_50from_dict(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_options, __pyx_v_required);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_64from_dict(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_options, __pyx_v_required);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50from_dict(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_options, PyObject *__pyx_v_required) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_64from_dict(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_options, PyObject *__pyx_v_required) {
PyObject *__pyx_v_current_config = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -42662,7 +43994,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_dict", 0);
- /* "dependency_injector/providers.pyx":2105
+ /* "dependency_injector/providers.pyx":2184
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -42677,14 +44009,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2106
+ /* "dependency_injector/providers.pyx":2185
* """
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \ # <<<<<<<<<<<<<<
* and not options:
* raise ValueError('Can not use empty dictionary')
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2106, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -42698,10 +44030,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2106, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 2106, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 2185, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (!__pyx_t_3) {
} else {
@@ -42716,19 +44048,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
}
__pyx_L6_next_and:;
- /* "dependency_injector/providers.pyx":2107
+ /* "dependency_injector/providers.pyx":2186
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True) \
* and not options: # <<<<<<<<<<<<<<
* raise ValueError('Can not use empty dictionary')
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_options); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2107, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_options); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2186, __pyx_L1_error)
__pyx_t_3 = ((!__pyx_t_2) != 0);
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
- /* "dependency_injector/providers.pyx":2105
+ /* "dependency_injector/providers.pyx":2184
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -42737,20 +44069,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
*/
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":2108
+ /* "dependency_injector/providers.pyx":2187
* and (self._is_strict_mode_enabled() or required is True) \
* and not options:
* raise ValueError('Can not use empty dictionary') # <<<<<<<<<<<<<<
*
* current_config = self.__call__()
*/
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2108, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2187, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __PYX_ERR(1, 2108, __pyx_L1_error)
+ __PYX_ERR(1, 2187, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2105
+ /* "dependency_injector/providers.pyx":2184
* :rtype: None
* """
* if required is not False \ # <<<<<<<<<<<<<<
@@ -42759,14 +44091,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
*/
}
- /* "dependency_injector/providers.pyx":2110
+ /* "dependency_injector/providers.pyx":2189
* raise ValueError('Can not use empty dictionary')
*
* current_config = self.__call__() # <<<<<<<<<<<<<<
* if not current_config:
* current_config = {}
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2110, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -42780,36 +44112,36 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2110, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_current_config = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2111
+ /* "dependency_injector/providers.pyx":2190
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
* current_config = {}
* self.override(merge_dicts(current_config, options))
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 2111, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_current_config); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 2190, __pyx_L1_error)
__pyx_t_3 = ((!__pyx_t_1) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":2112
+ /* "dependency_injector/providers.pyx":2191
* current_config = self.__call__()
* if not current_config:
* current_config = {} # <<<<<<<<<<<<<<
* self.override(merge_dicts(current_config, options))
*
*/
- __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2112, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_current_config, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2111
+ /* "dependency_injector/providers.pyx":2190
*
* current_config = self.__call__()
* if not current_config: # <<<<<<<<<<<<<<
@@ -42818,16 +44150,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
*/
}
- /* "dependency_injector/providers.pyx":2113
+ /* "dependency_injector/providers.pyx":2192
* if not current_config:
* current_config = {}
* self.override(merge_dicts(current_config, options)) # <<<<<<<<<<<<<<
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED):
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -42844,7 +44176,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_options};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
@@ -42852,13 +44184,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_current_config, __pyx_v_options};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -42869,7 +44201,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
__Pyx_INCREF(__pyx_v_options);
__Pyx_GIVEREF(__pyx_v_options);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_v_options);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -42887,12 +44219,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2113, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2092
+ /* "dependency_injector/providers.pyx":2171
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -42919,7 +44251,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2115
+/* "dependency_injector/providers.pyx":2194
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -42928,9 +44260,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_50fro
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53from_env(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_52from_env[] = "Load configuration value from the environment variable.\n\n :param name: Name of the environment variable.\n :type name: str\n\n :param default: Default value that is used if environment variable does not exist.\n :type default: object\n\n :param required: When required is True, raise an exception if environment variable is undefined.\n :type required: bool\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53from_env(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_67from_env(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_66from_env[] = "Load configuration value from the environment variable.\n\n :param name: Name of the environment variable.\n :type name: str\n\n :param default: Default value that is used if environment variable does not exist.\n :type default: object\n\n :param required: When required is True, raise an exception if environment variable is undefined.\n :type required: bool\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_67from_env(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_name = 0;
PyObject *__pyx_v_default = 0;
PyObject *__pyx_v_required = 0;
@@ -42943,8 +44275,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53fro
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_default,&__pyx_n_s_required,0};
PyObject* values[3] = {0,0,0};
- values[1] = __pyx_k__24;
- values[2] = __pyx_k__25;
+ values[1] = __pyx_k__30;
+ values[2] = __pyx_k__31;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
@@ -42977,7 +44309,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53fro
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_env") < 0)) __PYX_ERR(1, 2115, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "from_env") < 0)) __PYX_ERR(1, 2194, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -42996,20 +44328,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_53fro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("from_env", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2115, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("from_env", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2194, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Configuration.from_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_52from_env(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_name, __pyx_v_default, __pyx_v_required);
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_66from_env(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), __pyx_v_name, __pyx_v_default, __pyx_v_required);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52from_env(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_required) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_66from_env(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_default, PyObject *__pyx_v_required) {
PyObject *__pyx_v_value = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
@@ -43026,19 +44358,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_env", 0);
- /* "dependency_injector/providers.pyx":2129
+ /* "dependency_injector/providers.pyx":2208
* :rtype: None
* """
* value = os.environ.get(name, default) # <<<<<<<<<<<<<<
*
* if value is UNDEFINED:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_environ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_environ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -43056,7 +44388,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_default};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -43064,13 +44396,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_default};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -43081,7 +44413,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
__Pyx_INCREF(__pyx_v_default);
__Pyx_GIVEREF(__pyx_v_default);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_default);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2129, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -43089,21 +44421,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2131
+ /* "dependency_injector/providers.pyx":2210
* value = os.environ.get(name, default)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2131, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = (__pyx_v_value == __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":2132
+ /* "dependency_injector/providers.pyx":2211
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -43118,14 +44450,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
goto __pyx_L5_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2133
+ /* "dependency_injector/providers.pyx":2212
* if value is UNDEFINED:
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True): # <<<<<<<<<<<<<<
* raise ValueError('Environment variable "{0}" is undefined'.format(name))
* value = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2133, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_strict_mode_enabled); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2212, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -43139,10 +44471,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2133, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2212, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 2133, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 2212, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_8) {
} else {
@@ -43154,7 +44486,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
__pyx_t_7 = __pyx_t_6;
__pyx_L5_bool_binop_done:;
- /* "dependency_injector/providers.pyx":2132
+ /* "dependency_injector/providers.pyx":2211
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -43163,14 +44495,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
*/
if (unlikely(__pyx_t_7)) {
- /* "dependency_injector/providers.pyx":2134
+ /* "dependency_injector/providers.pyx":2213
* if required is not False \
* and (self._is_strict_mode_enabled() or required is True):
* raise ValueError('Environment variable "{0}" is undefined'.format(name)) # <<<<<<<<<<<<<<
* value = None
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Environment_variable_0_is_undefi, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2134, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Environment_variable_0_is_undefi, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -43184,17 +44516,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2134, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2134, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(1, 2134, __pyx_L1_error)
+ __PYX_ERR(1, 2213, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2132
+ /* "dependency_injector/providers.pyx":2211
*
* if value is UNDEFINED:
* if required is not False \ # <<<<<<<<<<<<<<
@@ -43203,7 +44535,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
*/
}
- /* "dependency_injector/providers.pyx":2135
+ /* "dependency_injector/providers.pyx":2214
* and (self._is_strict_mode_enabled() or required is True):
* raise ValueError('Environment variable "{0}" is undefined'.format(name))
* value = None # <<<<<<<<<<<<<<
@@ -43213,7 +44545,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_value, Py_None);
- /* "dependency_injector/providers.pyx":2131
+ /* "dependency_injector/providers.pyx":2210
* value = os.environ.get(name, default)
*
* if value is UNDEFINED: # <<<<<<<<<<<<<<
@@ -43222,14 +44554,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
*/
}
- /* "dependency_injector/providers.pyx":2137
+ /* "dependency_injector/providers.pyx":2216
* value = None
*
* self.override(value) # <<<<<<<<<<<<<<
*
* def from_value(self, value):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2137, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2216, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -43243,12 +44575,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2137, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2216, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2115
+ /* "dependency_injector/providers.pyx":2194
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
@@ -43273,7 +44605,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2139
+/* "dependency_injector/providers.pyx":2218
* self.override(value)
*
* def from_value(self, value): # <<<<<<<<<<<<<<
@@ -43282,20 +44614,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_52fro
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_55from_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_13Configuration_54from_value[] = "Load configuration value.\n\n :param value: Configuration value\n :type value: object\n\n :rtype: None\n ";
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_55from_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_69from_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
+static char __pyx_doc_19dependency_injector_9providers_13Configuration_68from_value[] = "Load configuration value.\n\n :param value: Configuration value\n :type value: object\n\n :rtype: None\n ";
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_69from_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_value (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_54from_value(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_value));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_68from_value(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v_value));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54from_value(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_68from_value(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v_value) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -43306,14 +44638,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54fro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("from_value", 0);
- /* "dependency_injector/providers.pyx":2147
+ /* "dependency_injector/providers.pyx":2226
* :rtype: None
* """
* self.override(value) # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2147, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -43327,12 +44659,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54fro
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2147, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2139
+ /* "dependency_injector/providers.pyx":2218
* self.override(value)
*
* def from_value(self, value): # <<<<<<<<<<<<<<
@@ -43356,7 +44688,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_54fro
}
static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7related_2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":2150
+/* "dependency_injector/providers.pyx":2229
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -43389,7 +44721,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_7rela
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_9___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 2150, __pyx_L1_error)
+ __PYX_ERR(1, 2229, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -43397,7 +44729,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_7rela
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_13Configuration_7related_2generator7, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Configuration___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2150, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_13Configuration_7related_2generator7, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Configuration___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2229, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -43433,9 +44765,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2150, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2229, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2152
+ /* "dependency_injector/providers.pyx":2231
* def related(self):
* """Return related providers generator."""
* yield from self.__children.values() # <<<<<<<<<<<<<<
@@ -43444,9 +44776,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
*/
if (unlikely(__pyx_cur_scope->__pyx_v_self->__pyx___children == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 2152, __pyx_L1_error)
+ __PYX_ERR(1, 2231, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2152, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___children); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -43459,23 +44791,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2152, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2231, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2152, __pyx_L1_error)
+ else __PYX_ERR(1, 2231, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2153
+ /* "dependency_injector/providers.pyx":2232
* """Return related providers generator."""
* yield from self.__children.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* def _is_strict_mode_enabled(self):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2153, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration));
@@ -43483,10 +44815,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2153, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2153, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -43500,17 +44832,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2153, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2232, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2153, __pyx_L1_error)
+ else __PYX_ERR(1, 2232, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":2150
+ /* "dependency_injector/providers.pyx":2229
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -43536,7 +44868,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2155
+/* "dependency_injector/providers.pyx":2234
* yield from super().related
*
* def _is_strict_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -43545,19 +44877,19 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13Configuration_7rela
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_57_is_strict_mode_enabled(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_57_is_strict_mode_enabled(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_71_is_strict_mode_enabled(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_71_is_strict_mode_enabled(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_is_strict_mode_enabled (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_56_is_strict_mode_enabled(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_70_is_strict_mode_enabled(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56_is_strict_mode_enabled(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_70_is_strict_mode_enabled(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -43566,7 +44898,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56_is
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_is_strict_mode_enabled", 0);
- /* "dependency_injector/providers.pyx":2156
+ /* "dependency_injector/providers.pyx":2235
*
* def _is_strict_mode_enabled(self):
* return self.__strict # <<<<<<<<<<<<<<
@@ -43574,13 +44906,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56_is
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2156, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___strict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2155
+ /* "dependency_injector/providers.pyx":2234
* yield from super().related
*
* def _is_strict_mode_enabled(self): # <<<<<<<<<<<<<<
@@ -43606,19 +44938,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_56_is
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_59__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_59__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_73__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_73__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_58__reduce_cython__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_72__reduce_cython__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_72__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self) {
PyObject *__pyx_v_state = 0;
PyObject *__pyx_v__dict = 0;
int __pyx_v_use_setstate;
@@ -43638,7 +44970,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":5
* cdef object _dict
* cdef bint use_setstate
- * state = (self.__async_mode, self.__children, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__strict) # <<<<<<<<<<<<<<
+ * state = (self.__async_mode, self.__children, self.__ini_files, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__pydantic_settings, self.__strict, self.__yaml_files) # <<<<<<<<<<<<<<
* _dict = getattr(self, '__dict__', None)
* if _dict is not None:
*/
@@ -43646,30 +44978,39 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___strict); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(11); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_self->__pyx___children);
__Pyx_GIVEREF(__pyx_v_self->__pyx___children);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->__pyx___children);
+ __Pyx_INCREF(__pyx_v_self->__pyx___ini_files);
+ __Pyx_GIVEREF(__pyx_v_self->__pyx___ini_files);
+ PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self->__pyx___ini_files);
__Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding));
- PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding));
+ PyTuple_SET_ITEM(__pyx_t_3, 3, ((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding));
__Pyx_INCREF(__pyx_v_self->__pyx___name);
__Pyx_GIVEREF(__pyx_v_self->__pyx___name);
- PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_self->__pyx___name);
+ PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_self->__pyx___name);
__Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden);
__Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden);
- PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden);
+ PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden);
__Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides);
__Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides);
- PyTuple_SET_ITEM(__pyx_t_3, 5, __pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides);
+ PyTuple_SET_ITEM(__pyx_t_3, 6, __pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides);
__Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx___provides);
__Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx___provides);
- PyTuple_SET_ITEM(__pyx_t_3, 6, __pyx_v_self->__pyx_base.__pyx___provides);
+ PyTuple_SET_ITEM(__pyx_t_3, 7, __pyx_v_self->__pyx_base.__pyx___provides);
+ __Pyx_INCREF(__pyx_v_self->__pyx___pydantic_settings);
+ __Pyx_GIVEREF(__pyx_v_self->__pyx___pydantic_settings);
+ PyTuple_SET_ITEM(__pyx_t_3, 8, __pyx_v_self->__pyx___pydantic_settings);
__Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 7, __pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_3, 9, __pyx_t_2);
+ __Pyx_INCREF(__pyx_v_self->__pyx___yaml_files);
+ __Pyx_GIVEREF(__pyx_v_self->__pyx___yaml_files);
+ PyTuple_SET_ITEM(__pyx_t_3, 10, __pyx_v_self->__pyx___yaml_files);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_v_state = ((PyObject*)__pyx_t_3);
@@ -43677,7 +45018,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":6
* cdef bint use_setstate
- * state = (self.__async_mode, self.__children, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__strict)
+ * state = (self.__async_mode, self.__children, self.__ini_files, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__pydantic_settings, self.__strict, self.__yaml_files)
* _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<<
* if _dict is not None:
* state += (_dict,)
@@ -43688,7 +45029,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
__pyx_t_3 = 0;
/* "(tree fragment)":7
- * state = (self.__async_mode, self.__children, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__strict)
+ * state = (self.__async_mode, self.__children, self.__ini_files, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__pydantic_settings, self.__strict, self.__yaml_files)
* _dict = getattr(self, '__dict__', None)
* if _dict is not None: # <<<<<<<<<<<<<<
* state += (_dict,)
@@ -43721,12 +45062,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
* state += (_dict,)
* use_setstate = True # <<<<<<<<<<<<<<
* else:
- * use_setstate = self.__children is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None
+ * use_setstate = self.__children is not None or self.__ini_files is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None or self.__pydantic_settings is not None or self.__yaml_files is not None
*/
__pyx_v_use_setstate = 1;
/* "(tree fragment)":7
- * state = (self.__async_mode, self.__children, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__strict)
+ * state = (self.__async_mode, self.__children, self.__ini_files, self.__last_overriding, self.__name, self.__overridden, self.__overrides, self.__provides, self.__pydantic_settings, self.__strict, self.__yaml_files)
* _dict = getattr(self, '__dict__', None)
* if _dict is not None: # <<<<<<<<<<<<<<
* state += (_dict,)
@@ -43738,9 +45079,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":11
* use_setstate = True
* else:
- * use_setstate = self.__children is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None # <<<<<<<<<<<<<<
+ * use_setstate = self.__children is not None or self.__ini_files is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None or self.__pydantic_settings is not None or self.__yaml_files is not None # <<<<<<<<<<<<<<
* if use_setstate:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, None), state
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, None), state
*/
/*else*/ {
__pyx_t_4 = (__pyx_v_self->__pyx___children != ((PyObject*)Py_None));
@@ -43750,37 +45091,58 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
__pyx_t_5 = __pyx_t_6;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_6 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding) != Py_None);
+ __pyx_t_6 = (__pyx_v_self->__pyx___ini_files != ((PyObject*)Py_None));
__pyx_t_4 = (__pyx_t_6 != 0);
if (!__pyx_t_4) {
} else {
__pyx_t_5 = __pyx_t_4;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_4 = (__pyx_v_self->__pyx___name != ((PyObject*)Py_None));
+ __pyx_t_4 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding) != Py_None);
__pyx_t_6 = (__pyx_t_4 != 0);
if (!__pyx_t_6) {
} else {
__pyx_t_5 = __pyx_t_6;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden != ((PyObject*)Py_None));
+ __pyx_t_6 = (__pyx_v_self->__pyx___name != ((PyObject*)Py_None));
__pyx_t_4 = (__pyx_t_6 != 0);
if (!__pyx_t_4) {
} else {
__pyx_t_5 = __pyx_t_4;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_4 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides != ((PyObject*)Py_None));
+ __pyx_t_4 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx___overridden != ((PyObject*)Py_None));
__pyx_t_6 = (__pyx_t_4 != 0);
if (!__pyx_t_6) {
} else {
__pyx_t_5 = __pyx_t_6;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx___provides != Py_None);
+ __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx___overrides != ((PyObject*)Py_None));
__pyx_t_4 = (__pyx_t_6 != 0);
- __pyx_t_5 = __pyx_t_4;
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_5 = __pyx_t_4;
+ goto __pyx_L4_bool_binop_done;
+ }
+ __pyx_t_4 = (__pyx_v_self->__pyx_base.__pyx___provides != Py_None);
+ __pyx_t_6 = (__pyx_t_4 != 0);
+ if (!__pyx_t_6) {
+ } else {
+ __pyx_t_5 = __pyx_t_6;
+ goto __pyx_L4_bool_binop_done;
+ }
+ __pyx_t_6 = (__pyx_v_self->__pyx___pydantic_settings != ((PyObject*)Py_None));
+ __pyx_t_4 = (__pyx_t_6 != 0);
+ if (!__pyx_t_4) {
+ } else {
+ __pyx_t_5 = __pyx_t_4;
+ goto __pyx_L4_bool_binop_done;
+ }
+ __pyx_t_4 = (__pyx_v_self->__pyx___yaml_files != ((PyObject*)Py_None));
+ __pyx_t_6 = (__pyx_t_4 != 0);
+ __pyx_t_5 = __pyx_t_6;
__pyx_L4_bool_binop_done:;
__pyx_v_use_setstate = __pyx_t_5;
}
@@ -43788,20 +45150,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":12
* else:
- * use_setstate = self.__children is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None
+ * use_setstate = self.__children is not None or self.__ini_files is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None or self.__pydantic_settings is not None or self.__yaml_files is not None
* if use_setstate: # <<<<<<<<<<<<<<
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, None), state
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, None), state
* else:
*/
__pyx_t_5 = (__pyx_v_use_setstate != 0);
if (__pyx_t_5) {
/* "(tree fragment)":13
- * use_setstate = self.__children is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None
+ * use_setstate = self.__children is not None or self.__ini_files is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None or self.__pydantic_settings is not None or self.__yaml_files is not None
* if use_setstate:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, None), state # <<<<<<<<<<<<<<
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, None), state # <<<<<<<<<<<<<<
* else:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, state)
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, state)
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_Configuration); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error)
@@ -43811,9 +45173,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- __Pyx_INCREF(__pyx_int_236165063);
- __Pyx_GIVEREF(__pyx_int_236165063);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_236165063);
+ __Pyx_INCREF(__pyx_int_190846735);
+ __Pyx_GIVEREF(__pyx_int_190846735);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_190846735);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None);
@@ -43834,17 +45196,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":12
* else:
- * use_setstate = self.__children is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None
+ * use_setstate = self.__children is not None or self.__ini_files is not None or self.__last_overriding is not None or self.__name is not None or self.__overridden is not None or self.__overrides is not None or self.__provides is not None or self.__pydantic_settings is not None or self.__yaml_files is not None
* if use_setstate: # <<<<<<<<<<<<<<
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, None), state
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, None), state
* else:
*/
}
/* "(tree fragment)":15
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, None), state
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, None), state
* else:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, state) # <<<<<<<<<<<<<<
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, state) # <<<<<<<<<<<<<<
* def __setstate_cython__(self, __pyx_state):
* __pyx_unpickle_Configuration__set_state(self, __pyx_state)
*/
@@ -43857,9 +45219,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
- __Pyx_INCREF(__pyx_int_236165063);
- __Pyx_GIVEREF(__pyx_int_236165063);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_236165063);
+ __Pyx_INCREF(__pyx_int_190846735);
+ __Pyx_GIVEREF(__pyx_int_190846735);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_190846735);
__Pyx_INCREF(__pyx_v_state);
__Pyx_GIVEREF(__pyx_v_state);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_state);
@@ -43899,25 +45261,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_58__r
/* "(tree fragment)":16
* else:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, state)
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, state)
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* __pyx_unpickle_Configuration__set_state(self, __pyx_state)
*/
/* Python wrapper */
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_61__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
-static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_61__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_75__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_19dependency_injector_9providers_13Configuration_75__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
- __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_60__setstate_cython__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+ __pyx_r = __pyx_pf_19dependency_injector_9providers_13Configuration_74__setstate_cython__(((struct __pyx_obj_19dependency_injector_9providers_Configuration *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_74__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -43927,7 +45289,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60__s
__Pyx_RefNannySetupContext("__setstate_cython__", 0);
/* "(tree fragment)":17
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, state)
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, state)
* def __setstate_cython__(self, __pyx_state):
* __pyx_unpickle_Configuration__set_state(self, __pyx_state) # <<<<<<<<<<<<<<
*/
@@ -43938,7 +45300,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60__s
/* "(tree fragment)":16
* else:
- * return __pyx_unpickle_Configuration, (type(self), 0xe1397c7, state)
+ * return __pyx_unpickle_Configuration, (type(self), 0xb60170f, state)
* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
* __pyx_unpickle_Configuration__set_state(self, __pyx_state)
*/
@@ -43956,7 +45318,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13Configuration_60__s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2212
+/* "dependency_injector/providers.pyx":2291
* provided_type = None
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -44016,7 +45378,7 @@ static int __pyx_pw_19dependency_injector_9providers_7Factory_1__init__(PyObject
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2212, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2291, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -44056,14 +45418,14 @@ static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2214
+ /* "dependency_injector/providers.pyx":2293
* def __init__(self, provides=None, *args, **kwargs):
* """Initialize provider."""
* self.__instantiator = Callable() # <<<<<<<<<<<<<<
* self.set_provides(provides)
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2214, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Callable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2293, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___instantiator);
@@ -44071,14 +45433,14 @@ static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __
__pyx_v_self->__pyx___instantiator = ((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2215
+ /* "dependency_injector/providers.pyx":2294
* """Initialize provider."""
* self.__instantiator = Callable()
* self.set_provides(provides) # <<<<<<<<<<<<<<
* self.set_args(*args)
* self.set_kwargs(**kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2215, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -44092,55 +45454,58 @@ static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2215, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2216
+ /* "dependency_injector/providers.pyx":2295
* self.__instantiator = Callable()
* self.set_provides(provides)
* self.set_args(*args) # <<<<<<<<<<<<<<
* self.set_kwargs(**kwargs)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2216, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2216, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2217
+ /* "dependency_injector/providers.pyx":2296
* self.set_provides(provides)
* self.set_args(*args)
* self.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
*
* self.__attributes = tuple()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2217, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2217, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2296, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2219
+ /* "dependency_injector/providers.pyx":2298
* self.set_kwargs(**kwargs)
*
* self.__attributes = tuple() # <<<<<<<<<<<<<<
* self.__attributes_len = 0
*
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2219, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2298, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->__pyx___attributes);
__Pyx_DECREF(__pyx_v_self->__pyx___attributes);
- __pyx_v_self->__pyx___attributes = ((PyObject*)__pyx_t_1);
- __pyx_t_1 = 0;
+ __pyx_v_self->__pyx___attributes = ((PyObject*)__pyx_t_3);
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2220
+ /* "dependency_injector/providers.pyx":2299
*
* self.__attributes = tuple()
* self.__attributes_len = 0 # <<<<<<<<<<<<<<
@@ -44149,45 +45514,45 @@ static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __
*/
__pyx_v_self->__pyx___attributes_len = 0;
- /* "dependency_injector/providers.pyx":2222
+ /* "dependency_injector/providers.pyx":2301
* self.__attributes_len = 0
*
* super(Factory, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2222, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2301, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2222, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2222, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2222, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2301, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2212
+ /* "dependency_injector/providers.pyx":2291
* provided_type = None
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -44209,7 +45574,7 @@ static int __pyx_pf_19dependency_injector_9providers_7Factory___init__(struct __
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2224
+/* "dependency_injector/providers.pyx":2303
* super(Factory, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -44247,16 +45612,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":2226
+ /* "dependency_injector/providers.pyx":2305
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2226, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2226, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -44271,13 +45636,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2226, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2227
+ /* "dependency_injector/providers.pyx":2306
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -44288,7 +45653,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":2228
+ /* "dependency_injector/providers.pyx":2307
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -44300,7 +45665,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2227
+ /* "dependency_injector/providers.pyx":2306
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -44309,32 +45674,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
*/
}
- /* "dependency_injector/providers.pyx":2230
+ /* "dependency_injector/providers.pyx":2309
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2230, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2230, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2309, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2231
+ /* "dependency_injector/providers.pyx":2310
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2231, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2231, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2231, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2231, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2310, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -44350,121 +45715,121 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2231, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2232
+ /* "dependency_injector/providers.pyx":2311
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo))
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2232, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2232, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2232, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2311, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2232, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2232, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2232, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2233
+ /* "dependency_injector/providers.pyx":2312
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<<
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2233, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2312, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 2233, __pyx_L1_error)
+ __PYX_ERR(1, 2312, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2233, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2234
+ /* "dependency_injector/providers.pyx":2313
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2234, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2313, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 2234, __pyx_L1_error)
+ __PYX_ERR(1, 2313, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_1))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2234, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2313, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2235
+ /* "dependency_injector/providers.pyx":2314
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2235, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2235, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2314, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2314, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Factory *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":2236
+ /* "dependency_injector/providers.pyx":2315
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -44476,7 +45841,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2224
+ /* "dependency_injector/providers.pyx":2303
* super(Factory, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -44499,7 +45864,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_2__deepcopy_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2238
+/* "dependency_injector/providers.pyx":2317
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -44534,7 +45899,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4__str__(str
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":2243
+ /* "dependency_injector/providers.pyx":2322
* :rtype: str
* """
* return represent_provider(provider=self, # <<<<<<<<<<<<<<
@@ -44543,31 +45908,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4__str__(str
*/
__Pyx_XDECREF(__pyx_r);
- /* "dependency_injector/providers.pyx":2244
+ /* "dependency_injector/providers.pyx":2323
* """
* return represent_provider(provider=self,
* provides=self.__instantiator.provides) # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2244, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":2243
+ /* "dependency_injector/providers.pyx":2322
* :rtype: str
* """
* return represent_provider(provider=self, # <<<<<<<<<<<<<<
* provides=self.__instantiator.provides)
*
*/
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2243, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2322, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2238
+ /* "dependency_injector/providers.pyx":2317
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -44587,7 +45952,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4__str__(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2247
+/* "dependency_injector/providers.pyx":2326
*
* @property
* def cls(self): # <<<<<<<<<<<<<<
@@ -44617,7 +45982,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_3cls___get__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2249
+ /* "dependency_injector/providers.pyx":2328
* def cls(self):
* """Return provided type."""
* return self.provides # <<<<<<<<<<<<<<
@@ -44625,13 +45990,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_3cls___get__
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2249, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2247
+ /* "dependency_injector/providers.pyx":2326
*
* @property
* def cls(self): # <<<<<<<<<<<<<<
@@ -44650,7 +46015,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_3cls___get__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2252
+/* "dependency_injector/providers.pyx":2331
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -44680,7 +46045,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8provides___
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2254
+ /* "dependency_injector/providers.pyx":2333
* def provides(self):
* """Return provider's provides."""
* return self.__instantiator.provides # <<<<<<<<<<<<<<
@@ -44688,13 +46053,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8provides___
* def set_provides(self, provides):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2254, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2333, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2252
+ /* "dependency_injector/providers.pyx":2331
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -44713,7 +46078,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8provides___
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2256
+/* "dependency_injector/providers.pyx":2335
* return self.__instantiator.provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -44755,33 +46120,33 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":2258
+ /* "dependency_injector/providers.pyx":2337
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)):
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2258, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2337, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2259
+ /* "dependency_injector/providers.pyx":2338
* """Set provider's provides."""
* if (provides
* and self.__class__.provided_type and # <<<<<<<<<<<<<<
* not issubclass(provides, self.__class__.provided_type)):
* raise Error(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2259, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2259, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2259, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2338, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
} else {
@@ -44789,25 +46154,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2260
+ /* "dependency_injector/providers.pyx":2339
* if (provides
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)): # <<<<<<<<<<<<<<
* raise Error(
* '{0} can provide only {1} instances'.format(
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2260, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2260, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = PyObject_IsSubclass(__pyx_v_provides, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2260, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsSubclass(__pyx_v_provides, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2339, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_5 = ((!(__pyx_t_2 != 0)) != 0);
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
- /* "dependency_injector/providers.pyx":2258
+ /* "dependency_injector/providers.pyx":2337
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
@@ -44816,46 +46181,46 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
*/
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":2261
+ /* "dependency_injector/providers.pyx":2340
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)):
* raise Error( # <<<<<<<<<<<<<<
* '{0} can provide only {1} instances'.format(
* _class_qualname(self),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2261, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":2262
+ /* "dependency_injector/providers.pyx":2341
* not issubclass(provides, self.__class__.provided_type)):
* raise Error(
* '{0} can provide only {1} instances'.format( # <<<<<<<<<<<<<<
* _class_qualname(self),
* self.__class__.provided_type,
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_provide_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2262, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_provide_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2341, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/providers.pyx":2263
+ /* "dependency_injector/providers.pyx":2342
* raise Error(
* '{0} can provide only {1} instances'.format(
* _class_qualname(self), # <<<<<<<<<<<<<<
* self.__class__.provided_type,
* ),
*/
- __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2263, __pyx_L1_error)
+ __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- /* "dependency_injector/providers.pyx":2264
+ /* "dependency_injector/providers.pyx":2343
* '{0} can provide only {1} instances'.format(
* _class_qualname(self),
* self.__class__.provided_type, # <<<<<<<<<<<<<<
* ),
* )
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2264, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2264, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = NULL;
@@ -44873,7 +46238,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2262, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2341, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -44883,7 +46248,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2262, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2341, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -44891,7 +46256,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
} else
#endif
{
- __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2262, __pyx_L1_error)
+ __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2341, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -44902,7 +46267,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_10);
__pyx_t_8 = 0;
__pyx_t_10 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2262, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2341, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
@@ -44920,14 +46285,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2261, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2261, __pyx_L1_error)
+ __PYX_ERR(1, 2340, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2258
+ /* "dependency_injector/providers.pyx":2337
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
@@ -44936,14 +46301,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
*/
}
- /* "dependency_injector/providers.pyx":2267
+ /* "dependency_injector/providers.pyx":2346
* ),
* )
* self.__instantiator.set_provides(provides) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2267, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -44957,12 +46322,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2267, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2268
+ /* "dependency_injector/providers.pyx":2347
* )
* self.__instantiator.set_provides(provides)
* return self # <<<<<<<<<<<<<<
@@ -44974,7 +46339,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2256
+ /* "dependency_injector/providers.pyx":2335
* return self.__instantiator.provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -45000,7 +46365,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6set_provide
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2271
+/* "dependency_injector/providers.pyx":2350
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -45030,7 +46395,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4args___get_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2273
+ /* "dependency_injector/providers.pyx":2352
* def args(self):
* """Return positional argument injections."""
* return self.__instantiator.args # <<<<<<<<<<<<<<
@@ -45038,13 +46403,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4args___get_
* def add_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2273, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2352, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2271
+ /* "dependency_injector/providers.pyx":2350
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -45063,7 +46428,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_4args___get_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2275
+/* "dependency_injector/providers.pyx":2354
* return self.__instantiator.args
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -45100,21 +46465,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8add_args(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_args", 0);
- /* "dependency_injector/providers.pyx":2280
+ /* "dependency_injector/providers.pyx":2359
* :return: Reference ``self``
* """
* self.__instantiator.add_args(*args) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2280, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2280, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2281
+ /* "dependency_injector/providers.pyx":2360
* """
* self.__instantiator.add_args(*args)
* return self # <<<<<<<<<<<<<<
@@ -45126,7 +46491,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8add_args(st
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2275
+ /* "dependency_injector/providers.pyx":2354
* return self.__instantiator.args
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -45146,7 +46511,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_8add_args(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2283
+/* "dependency_injector/providers.pyx":2362
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -45183,21 +46548,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10set_args(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":2290
+ /* "dependency_injector/providers.pyx":2369
* :return: Reference ``self``
* """
* self.__instantiator.set_args(*args) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2290, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2290, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2291
+ /* "dependency_injector/providers.pyx":2370
* """
* self.__instantiator.set_args(*args)
* return self # <<<<<<<<<<<<<<
@@ -45209,7 +46574,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10set_args(s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2283
+ /* "dependency_injector/providers.pyx":2362
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -45229,7 +46594,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10set_args(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2293
+/* "dependency_injector/providers.pyx":2372
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -45262,14 +46627,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_12clear_args
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_args", 0);
- /* "dependency_injector/providers.pyx":2298
+ /* "dependency_injector/providers.pyx":2377
* :return: Reference ``self``
* """
* self.__instantiator.clear_args() # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2298, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -45283,12 +46648,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_12clear_args
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2298, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2299
+ /* "dependency_injector/providers.pyx":2378
* """
* self.__instantiator.clear_args()
* return self # <<<<<<<<<<<<<<
@@ -45300,7 +46665,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_12clear_args
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2293
+ /* "dependency_injector/providers.pyx":2372
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -45321,7 +46686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_12clear_args
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2302
+/* "dependency_injector/providers.pyx":2381
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -45351,7 +46716,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6kwargs___ge
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2304
+ /* "dependency_injector/providers.pyx":2383
* def kwargs(self):
* """Return keyword argument injections."""
* return self.__instantiator.kwargs # <<<<<<<<<<<<<<
@@ -45359,13 +46724,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6kwargs___ge
* def add_kwargs(self, **kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2304, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2302
+ /* "dependency_injector/providers.pyx":2381
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -45384,7 +46749,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_6kwargs___ge
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2306
+/* "dependency_injector/providers.pyx":2385
* return self.__instantiator.kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45403,12 +46768,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7Factory_15add_kwargs
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("add_kwargs", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "add_kwargs", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_7Factory_14add_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -45422,26 +46783,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_14add_kwargs
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_kwargs", 0);
- /* "dependency_injector/providers.pyx":2311
+ /* "dependency_injector/providers.pyx":2390
* :return: Reference ``self``
* """
* self.__instantiator.add_kwargs(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2311, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2390, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2311, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2390, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2390, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2312
+ /* "dependency_injector/providers.pyx":2391
* """
* self.__instantiator.add_kwargs(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -45453,7 +46818,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_14add_kwargs
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2306
+ /* "dependency_injector/providers.pyx":2385
* return self.__instantiator.kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45465,6 +46830,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_14add_kwargs
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.Factory.add_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -45473,7 +46839,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_14add_kwargs
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2314
+/* "dependency_injector/providers.pyx":2393
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45492,12 +46858,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7Factory_17set_kwargs
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("set_kwargs", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_kwargs", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_7Factory_16set_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -45511,26 +46873,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_16set_kwargs
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_kwargs", 0);
- /* "dependency_injector/providers.pyx":2321
+ /* "dependency_injector/providers.pyx":2400
* :return: Reference ``self``
* """
* self.__instantiator.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2321, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2321, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2400, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2322
+ /* "dependency_injector/providers.pyx":2401
* """
* self.__instantiator.set_kwargs(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -45542,7 +46908,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_16set_kwargs
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2314
+ /* "dependency_injector/providers.pyx":2393
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45554,6 +46920,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_16set_kwargs
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.Factory.set_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -45562,7 +46929,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_16set_kwargs
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2324
+/* "dependency_injector/providers.pyx":2403
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -45595,14 +46962,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_18clear_kwar
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_kwargs", 0);
- /* "dependency_injector/providers.pyx":2329
+ /* "dependency_injector/providers.pyx":2408
* :return: Reference ``self``
* """
* self.__instantiator.clear_kwargs() # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2329, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -45616,12 +46983,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_18clear_kwar
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2329, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2330
+ /* "dependency_injector/providers.pyx":2409
* """
* self.__instantiator.clear_kwargs()
* return self # <<<<<<<<<<<<<<
@@ -45633,7 +47000,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_18clear_kwar
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2324
+ /* "dependency_injector/providers.pyx":2403
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -45654,7 +47021,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_18clear_kwar
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2333
+/* "dependency_injector/providers.pyx":2412
*
* @property
* def attributes(self): # <<<<<<<<<<<<<<
@@ -45690,19 +47057,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2339
+ /* "dependency_injector/providers.pyx":2418
* cdef dict attributes
*
* attributes = dict() # <<<<<<<<<<<<<<
* for index in range(self.__attributes_len):
* attribute = self.__attributes[index]
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2339, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_attributes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2340
+ /* "dependency_injector/providers.pyx":2419
*
* attributes = dict()
* for index in range(self.__attributes_len): # <<<<<<<<<<<<<<
@@ -45714,7 +47081,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":2341
+ /* "dependency_injector/providers.pyx":2420
* attributes = dict()
* for index in range(self.__attributes_len):
* attribute = self.__attributes[index] # <<<<<<<<<<<<<<
@@ -45723,15 +47090,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
*/
if (unlikely(__pyx_v_self->__pyx___attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 2341, __pyx_L1_error)
+ __PYX_ERR(1, 2420, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___attributes, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2341, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___attributes, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 2341, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 2420, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_attribute, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2342
+ /* "dependency_injector/providers.pyx":2421
* for index in range(self.__attributes_len):
* attribute = self.__attributes[index]
* attributes[attribute.__name] = attribute.__value # <<<<<<<<<<<<<<
@@ -45740,11 +47107,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
*/
__pyx_t_1 = __pyx_v_attribute->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_v_attribute->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 2342, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attributes, __pyx_v_attribute->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 2421, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":2343
+ /* "dependency_injector/providers.pyx":2422
* attribute = self.__attributes[index]
* attributes[attribute.__name] = attribute.__value
* return attributes # <<<<<<<<<<<<<<
@@ -45756,7 +47123,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
__pyx_r = __pyx_v_attributes;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2333
+ /* "dependency_injector/providers.pyx":2412
*
* @property
* def attributes(self): # <<<<<<<<<<<<<<
@@ -45777,7 +47144,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_10attributes
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2345
+/* "dependency_injector/providers.pyx":2424
* return attributes
*
* def add_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45817,16 +47184,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_20add_attrib
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_attributes", 0);
- /* "dependency_injector/providers.pyx":2350
+ /* "dependency_injector/providers.pyx":2429
* :return: Reference ``self``
* """
* self.__attributes += parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__attributes_len = len(self.__attributes)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2350, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2429, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___attributes, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2350, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___attributes, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2429, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -45835,7 +47202,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_20add_attrib
__pyx_v_self->__pyx___attributes = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2351
+ /* "dependency_injector/providers.pyx":2430
* """
* self.__attributes += parse_named_injections(kwargs)
* self.__attributes_len = len(self.__attributes) # <<<<<<<<<<<<<<
@@ -45846,13 +47213,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_20add_attrib
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 2351, __pyx_L1_error)
+ __PYX_ERR(1, 2430, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2351, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2430, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___attributes_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":2352
+ /* "dependency_injector/providers.pyx":2431
* self.__attributes += parse_named_injections(kwargs)
* self.__attributes_len = len(self.__attributes)
* return self # <<<<<<<<<<<<<<
@@ -45864,7 +47231,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_20add_attrib
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2345
+ /* "dependency_injector/providers.pyx":2424
* return attributes
*
* def add_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45884,7 +47251,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_20add_attrib
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2354
+/* "dependency_injector/providers.pyx":2433
* return self
*
* def set_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45923,14 +47290,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_22set_attrib
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_attributes", 0);
- /* "dependency_injector/providers.pyx":2361
+ /* "dependency_injector/providers.pyx":2440
* :return: Reference ``self``
* """
* self.__attributes = parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__attributes_len = len(self.__attributes)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2361, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___attributes);
@@ -45938,7 +47305,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_22set_attrib
__pyx_v_self->__pyx___attributes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2362
+ /* "dependency_injector/providers.pyx":2441
* """
* self.__attributes = parse_named_injections(kwargs)
* self.__attributes_len = len(self.__attributes) # <<<<<<<<<<<<<<
@@ -45949,13 +47316,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_22set_attrib
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 2362, __pyx_L1_error)
+ __PYX_ERR(1, 2441, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2362, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2441, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___attributes_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":2363
+ /* "dependency_injector/providers.pyx":2442
* self.__attributes = parse_named_injections(kwargs)
* self.__attributes_len = len(self.__attributes)
* return self # <<<<<<<<<<<<<<
@@ -45967,7 +47334,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_22set_attrib
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2354
+ /* "dependency_injector/providers.pyx":2433
* return self
*
* def set_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -45986,7 +47353,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_22set_attrib
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2365
+/* "dependency_injector/providers.pyx":2444
* return self
*
* def clear_attributes(self): # <<<<<<<<<<<<<<
@@ -46018,14 +47385,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_24clear_attr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_attributes", 0);
- /* "dependency_injector/providers.pyx":2370
+ /* "dependency_injector/providers.pyx":2449
* :return: Reference ``self``
* """
* self.__attributes = tuple() # <<<<<<<<<<<<<<
* self.__attributes_len = len(self.__attributes)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2370, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___attributes);
@@ -46033,7 +47400,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_24clear_attr
__pyx_v_self->__pyx___attributes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2371
+ /* "dependency_injector/providers.pyx":2450
* """
* self.__attributes = tuple()
* self.__attributes_len = len(self.__attributes) # <<<<<<<<<<<<<<
@@ -46044,13 +47411,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_24clear_attr
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 2371, __pyx_L1_error)
+ __PYX_ERR(1, 2450, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2371, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 2450, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___attributes_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":2372
+ /* "dependency_injector/providers.pyx":2451
* self.__attributes = tuple()
* self.__attributes_len = len(self.__attributes)
* return self # <<<<<<<<<<<<<<
@@ -46062,7 +47429,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_24clear_attr
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2365
+ /* "dependency_injector/providers.pyx":2444
* return self
*
* def clear_attributes(self): # <<<<<<<<<<<<<<
@@ -46082,7 +47449,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_24clear_attr
}
static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":2375
+/* "dependency_injector/providers.pyx":2454
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -46115,7 +47482,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_7related___g
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_10___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 2375, __pyx_L1_error)
+ __PYX_ERR(1, 2454, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -46123,7 +47490,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_7related___g
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_7Factory_7related_2generator8, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Factory___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2375, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_7Factory_7related_2generator8, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Factory___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2454, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -46164,25 +47531,25 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2375, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2454, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2377
+ /* "dependency_injector/providers.pyx":2456
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides]) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -46190,7 +47557,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3);
@@ -46204,27 +47571,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2377, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2456, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2377, __pyx_L1_error)
+ else __PYX_ERR(1, 2456, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2378
+ /* "dependency_injector/providers.pyx":2457
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2378, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2378, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2378, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
@@ -46232,7 +47599,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
__pyx_t_3 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2378, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -46246,27 +47613,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2378, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2457, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2378, __pyx_L1_error)
+ else __PYX_ERR(1, 2457, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2379
+ /* "dependency_injector/providers.pyx":2458
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.attributes.values())
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -46281,10 +47648,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
@@ -46292,7 +47659,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -46306,27 +47673,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2379, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2458, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2379, __pyx_L1_error)
+ else __PYX_ERR(1, 2458, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2380
+ /* "dependency_injector/providers.pyx":2459
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -46341,10 +47708,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
}
__pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
@@ -46352,7 +47719,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
__pyx_t_1 = 0;
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -46366,23 +47733,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L7_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2380, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2459, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2380, __pyx_L1_error)
+ else __PYX_ERR(1, 2459, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2381
+ /* "dependency_injector/providers.pyx":2460
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2381, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
@@ -46390,10 +47757,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2381, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2381, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -46407,17 +47774,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
__pyx_generator->resume_label = 5;
return __pyx_r;
__pyx_L8_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2381, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2460, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2381, __pyx_L1_error)
+ else __PYX_ERR(1, 2460, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":2375
+ /* "dependency_injector/providers.pyx":2454
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -46445,7 +47812,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_7Factory_7related_2ge
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2383
+/* "dependency_injector/providers.pyx":2462
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -46476,7 +47843,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_7Factory_27_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -46496,7 +47863,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -46504,13 +47871,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -46521,7 +47888,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -46544,7 +47911,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
#endif
}
- /* "dependency_injector/providers.pyx":2385
+ /* "dependency_injector/providers.pyx":2464
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return new instance."""
* return __factory_call(self, args, kwargs) # <<<<<<<<<<<<<<
@@ -46552,13 +47919,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_7Factory__provide(stru
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___factory_call(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2385, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___factory_call(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2383
+ /* "dependency_injector/providers.pyx":2462
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -46616,11 +47983,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7Factory_27_provide(P
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2383, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2462, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2383, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2462, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -46633,14 +48000,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7Factory_27_provide(P
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2383, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2462, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Factory._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2383, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2383, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2462, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2462, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_7Factory_26_provide(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -46661,7 +48028,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_7Factory_26_provide(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_7Factory__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2383, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_7Factory__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -47372,7 +48739,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16DelegatedFactory_2_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2420
+/* "dependency_injector/providers.pyx":2499
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -47393,12 +48760,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AbstractFactory_1__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_15AbstractFactory___call__(((struct __pyx_obj_19dependency_injector_9providers_AbstractFactory *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -47425,7 +48788,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":2425
+ /* "dependency_injector/providers.pyx":2504
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -47436,16 +48799,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":2426
+ /* "dependency_injector/providers.pyx":2505
* """
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self)) # <<<<<<<<<<<<<<
* return super().__call__(*args, **kwargs)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2426, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2426, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -47459,7 +48822,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2426, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -47475,14 +48838,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2426, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2426, __pyx_L1_error)
+ __PYX_ERR(1, 2505, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2425
+ /* "dependency_injector/providers.pyx":2504
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -47491,7 +48854,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
*/
}
- /* "dependency_injector/providers.pyx":2427
+ /* "dependency_injector/providers.pyx":2506
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self))
* return super().__call__(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -47499,7 +48862,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
* def override(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2427, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractFactory));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractFactory));
@@ -47507,20 +48870,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2427, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2427, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2427, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2506, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_4;
- __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_5;
+ __pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2420
+ /* "dependency_injector/providers.pyx":2499
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -47543,7 +48909,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory___c
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2429
+/* "dependency_injector/providers.pyx":2508
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -47582,7 +48948,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":2440
+ /* "dependency_injector/providers.pyx":2519
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Factory): # <<<<<<<<<<<<<<
@@ -47593,24 +48959,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":2441
+ /* "dependency_injector/providers.pyx":2520
* """
* if not isinstance(provider, Factory):
* raise Error('{0} must be overridden only by ' # <<<<<<<<<<<<<<
* '{1} providers'.format(self, Factory))
* return super(AbstractFactory, self).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2441, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":2442
+ /* "dependency_injector/providers.pyx":2521
* if not isinstance(provider, Factory):
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Factory)) # <<<<<<<<<<<<<<
* return super(AbstractFactory, self).override(provider)
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2442, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -47627,7 +48993,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2442, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2521, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -47635,13 +49001,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2442, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2521, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2442, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -47652,7 +49018,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2442, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -47670,14 +49036,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2441, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2441, __pyx_L1_error)
+ __PYX_ERR(1, 2520, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2440
+ /* "dependency_injector/providers.pyx":2519
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, Factory): # <<<<<<<<<<<<<<
@@ -47686,7 +49052,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
*/
}
- /* "dependency_injector/providers.pyx":2443
+ /* "dependency_injector/providers.pyx":2522
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, Factory))
* return super(AbstractFactory, self).override(provider) # <<<<<<<<<<<<<<
@@ -47694,7 +49060,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2443, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractFactory));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractFactory));
@@ -47702,10 +49068,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2443, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2443, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -47720,14 +49086,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2443, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2429
+ /* "dependency_injector/providers.pyx":2508
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -47751,7 +49117,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_2ov
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2445
+/* "dependency_injector/providers.pyx":2524
* return super(AbstractFactory, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -47782,7 +49148,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AbstractFactory__pro
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_15AbstractFactory_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -47802,7 +49168,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AbstractFactory__pro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -47810,13 +49176,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AbstractFactory__pro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -47827,7 +49193,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AbstractFactory__pro
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -47850,20 +49216,20 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AbstractFactory__pro
#endif
}
- /* "dependency_injector/providers.pyx":2447
+ /* "dependency_injector/providers.pyx":2526
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* raise NotImplementedError('Abstract provider forward providing logic ' # <<<<<<<<<<<<<<
* 'to overriding provider')
*
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2447, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2526, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2447, __pyx_L1_error)
+ __PYX_ERR(1, 2526, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2445
+ /* "dependency_injector/providers.pyx":2524
* return super(AbstractFactory, self).override(provider)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -47921,11 +49287,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AbstractFactory_5_p
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2445, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2524, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2445, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2524, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -47938,14 +49304,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AbstractFactory_5_p
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2445, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2524, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AbstractFactory._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2445, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2445, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2524, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2524, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_15AbstractFactory_4_provide(((struct __pyx_obj_19dependency_injector_9providers_AbstractFactory *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -47966,7 +49332,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_4_p
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_15AbstractFactory__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2445, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_15AbstractFactory__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -48330,7 +49696,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AbstractFactory_8__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2461
+/* "dependency_injector/providers.pyx":2540
* """
*
* def __init__(self, factory): # <<<<<<<<<<<<<<
@@ -48371,7 +49737,7 @@ static int __pyx_pw_19dependency_injector_9providers_15FactoryDelegate_1__init__
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 2461, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 2540, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -48382,7 +49748,7 @@ static int __pyx_pw_19dependency_injector_9providers_15FactoryDelegate_1__init__
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2461, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2540, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.FactoryDelegate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -48413,7 +49779,7 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2467
+ /* "dependency_injector/providers.pyx":2546
* :type factory: object
* """
* if isinstance(factory, Factory) is False: # <<<<<<<<<<<<<<
@@ -48424,26 +49790,26 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
__pyx_t_2 = ((__pyx_t_1 == 0) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":2468
+ /* "dependency_injector/providers.pyx":2547
* """
* if isinstance(factory, Factory) is False:
* raise Error('{0} can wrap only {1} providers'.format( # <<<<<<<<<<<<<<
* self.__class__, Factory))
* super(FactoryDelegate, self).__init__(factory)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":2469
+ /* "dependency_injector/providers.pyx":2548
* if isinstance(factory, Factory) is False:
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Factory)) # <<<<<<<<<<<<<<
* super(FactoryDelegate, self).__init__(factory)
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2469, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -48460,7 +49826,7 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -48469,14 +49835,14 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -48487,7 +49853,7 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory));
__pyx_t_7 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -48505,14 +49871,14 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2468, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2468, __pyx_L1_error)
+ __PYX_ERR(1, 2547, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2467
+ /* "dependency_injector/providers.pyx":2546
* :type factory: object
* """
* if isinstance(factory, Factory) is False: # <<<<<<<<<<<<<<
@@ -48521,14 +49887,14 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
*/
}
- /* "dependency_injector/providers.pyx":2470
+ /* "dependency_injector/providers.pyx":2549
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, Factory))
* super(FactoryDelegate, self).__init__(factory) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2470, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2549, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryDelegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryDelegate));
@@ -48536,10 +49902,10 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2470, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2549, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2470, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2549, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -48554,12 +49920,12 @@ static int __pyx_pf_19dependency_injector_9providers_15FactoryDelegate___init__(
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_factory) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_factory);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2470, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2549, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2461
+ /* "dependency_injector/providers.pyx":2540
* """
*
* def __init__(self, factory): # <<<<<<<<<<<<<<
@@ -48917,7 +50283,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15FactoryDelegate_4__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2489
+/* "dependency_injector/providers.pyx":2568
* __IS_DELEGATED__ = True
*
* def __init__(self, factories_dict_=None, **factories_kwargs): # <<<<<<<<<<<<<<
@@ -48964,7 +50330,7 @@ static int __pyx_pw_19dependency_injector_9providers_16FactoryAggregate_1__init_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_factories_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 2489, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_factories_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 2568, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -48978,7 +50344,7 @@ static int __pyx_pw_19dependency_injector_9providers_16FactoryAggregate_1__init_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2489, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2568, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_factories_kwargs); __pyx_v_factories_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -48999,19 +50365,20 @@ static int __pyx_pf_19dependency_injector_9providers_16FactoryAggregate___init__
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2491
+ /* "dependency_injector/providers.pyx":2570
* def __init__(self, factories_dict_=None, **factories_kwargs):
* """Initialize provider."""
* self.__factories = {} # <<<<<<<<<<<<<<
* self.set_factories(factories_dict_, **factories_kwargs)
* super(FactoryAggregate, self).__init__()
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2491, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___factories);
@@ -49019,65 +50386,68 @@ static int __pyx_pf_19dependency_injector_9providers_16FactoryAggregate___init__
__pyx_v_self->__pyx___factories = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2492
+ /* "dependency_injector/providers.pyx":2571
* """Initialize provider."""
* self.__factories = {}
* self.set_factories(factories_dict_, **factories_kwargs) # <<<<<<<<<<<<<<
* super(FactoryAggregate, self).__init__()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2492, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2492, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_factories_dict_);
__Pyx_GIVEREF(__pyx_v_factories_dict_);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_factories_dict_);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_factories_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2492, __pyx_L1_error)
+ __pyx_t_3 = PyDict_Copy(__pyx_v_factories_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2571, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2493
+ /* "dependency_injector/providers.pyx":2572
* self.__factories = {}
* self.set_factories(factories_dict_, **factories_kwargs)
* super(FactoryAggregate, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2493, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2572, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
+ PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2493, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2493, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2493, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2572, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2489
+ /* "dependency_injector/providers.pyx":2568
* __IS_DELEGATED__ = True
*
* def __init__(self, factories_dict_=None, **factories_kwargs): # <<<<<<<<<<<<<<
@@ -49092,6 +50462,7 @@ static int __pyx_pf_19dependency_injector_9providers_16FactoryAggregate___init__
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -49099,7 +50470,7 @@ static int __pyx_pf_19dependency_injector_9providers_16FactoryAggregate___init__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2495
+/* "dependency_injector/providers.pyx":2574
* super(FactoryAggregate, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -49137,16 +50508,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":2497
+ /* "dependency_injector/providers.pyx":2576
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2497, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2497, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -49161,13 +50532,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2497, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2576, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2498
+ /* "dependency_injector/providers.pyx":2577
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -49178,7 +50549,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":2499
+ /* "dependency_injector/providers.pyx":2578
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -49190,7 +50561,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2498
+ /* "dependency_injector/providers.pyx":2577
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -49199,34 +50570,34 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
*/
}
- /* "dependency_injector/providers.pyx":2501
+ /* "dependency_injector/providers.pyx":2580
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_factories(deepcopy(self.factories, memo))
*
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2501, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2501, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2580, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2580, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2502
+ /* "dependency_injector/providers.pyx":2581
*
* copied = _memorized_duplicate(self, memo)
* copied.set_factories(deepcopy(self.factories, memo)) # <<<<<<<<<<<<<<
*
* self._copy_overridings(copied, memo)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_factories); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2502, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_factories); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_factories); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2502, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_factories); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2502, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2581, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2502, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -49242,23 +50613,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2502, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2504
+ /* "dependency_injector/providers.pyx":2583
* copied.set_factories(deepcopy(self.factories, memo))
*
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2504, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2504, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2583, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2583, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":2506
+ /* "dependency_injector/providers.pyx":2585
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -49270,7 +50641,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2495
+ /* "dependency_injector/providers.pyx":2574
* super(FactoryAggregate, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -49293,7 +50664,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_2_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2508
+/* "dependency_injector/providers.pyx":2587
* return copied
*
* def __getattr__(self, factory_name): # <<<<<<<<<<<<<<
@@ -49327,7 +50698,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_4_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":2510
+ /* "dependency_injector/providers.pyx":2589
* def __getattr__(self, factory_name):
* """Return aggregated factory."""
* return self.__get_factory(factory_name) # <<<<<<<<<<<<<<
@@ -49335,13 +50706,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_4_
* def __str__(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx___get_factory(__pyx_v_self, __pyx_v_factory_name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2510, __pyx_L1_error)
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx___get_factory(__pyx_v_self, __pyx_v_factory_name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2589, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2508
+ /* "dependency_injector/providers.pyx":2587
* return copied
*
* def __getattr__(self, factory_name): # <<<<<<<<<<<<<<
@@ -49360,7 +50731,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_4_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2512
+/* "dependency_injector/providers.pyx":2591
* return self.__get_factory(factory_name)
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -49395,7 +50766,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_6_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":2517
+ /* "dependency_injector/providers.pyx":2596
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.factories) # <<<<<<<<<<<<<<
@@ -49403,16 +50774,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_6_
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2517, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2596, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2517, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2596, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2512
+ /* "dependency_injector/providers.pyx":2591
* return self.__get_factory(factory_name)
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -49432,7 +50803,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_6_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2520
+/* "dependency_injector/providers.pyx":2599
*
* @property
* def factories(self): # <<<<<<<<<<<<<<
@@ -49458,7 +50829,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_9f
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2522
+ /* "dependency_injector/providers.pyx":2601
* def factories(self):
* """Return dictionary of factories, read-only."""
* return self.__factories # <<<<<<<<<<<<<<
@@ -49470,7 +50841,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_9f
__pyx_r = __pyx_v_self->__pyx___factories;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2520
+ /* "dependency_injector/providers.pyx":2599
*
* @property
* def factories(self): # <<<<<<<<<<<<<<
@@ -49485,7 +50856,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_9f
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2524
+/* "dependency_injector/providers.pyx":2603
* return self.__factories
*
* def set_factories(self, factories_dict_=None, **factories_kwargs): # <<<<<<<<<<<<<<
@@ -49529,7 +50900,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16FactoryAggregate_9s
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_factories_kwargs, values, pos_args, "set_factories") < 0)) __PYX_ERR(1, 2524, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_factories_kwargs, values, pos_args, "set_factories") < 0)) __PYX_ERR(1, 2603, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -49543,7 +50914,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16FactoryAggregate_9s
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_factories", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2524, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_factories", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2603, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_factories_kwargs); __pyx_v_factories_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate.set_factories", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -49581,51 +50952,51 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_factories", 0);
- /* "dependency_injector/providers.pyx":2526
+ /* "dependency_injector/providers.pyx":2605
* def set_factories(self, factories_dict_=None, **factories_kwargs):
* """Set factories."""
* factories = {} # <<<<<<<<<<<<<<
* factories.update(factories_kwargs)
* if factories_dict_:
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2526, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2605, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_factories = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2527
+ /* "dependency_injector/providers.pyx":2606
* """Set factories."""
* factories = {}
* factories.update(factories_kwargs) # <<<<<<<<<<<<<<
* if factories_dict_:
* factories.update(factories_dict_)
*/
- __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_factories, __pyx_v_factories_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2527, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_factories, __pyx_v_factories_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2528
+ /* "dependency_injector/providers.pyx":2607
* factories = {}
* factories.update(factories_kwargs)
* if factories_dict_: # <<<<<<<<<<<<<<
* factories.update(factories_dict_)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_factories_dict_); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2528, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_factories_dict_); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2607, __pyx_L1_error)
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":2529
+ /* "dependency_injector/providers.pyx":2608
* factories.update(factories_kwargs)
* if factories_dict_:
* factories.update(factories_dict_) # <<<<<<<<<<<<<<
*
* for factory in factories.values():
*/
- __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_factories, __pyx_v_factories_dict_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2529, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_factories, __pyx_v_factories_dict_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2528
+ /* "dependency_injector/providers.pyx":2607
* factories = {}
* factories.update(factories_kwargs)
* if factories_dict_: # <<<<<<<<<<<<<<
@@ -49634,22 +51005,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
*/
}
- /* "dependency_injector/providers.pyx":2531
+ /* "dependency_injector/providers.pyx":2610
* factories.update(factories_dict_)
*
* for factory in factories.values(): # <<<<<<<<<<<<<<
* if isinstance(factory, Factory) is False:
* raise Error(
*/
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2610, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -49657,17 +51028,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2610, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2610, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2531, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2610, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -49677,7 +51048,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 2531, __pyx_L1_error)
+ else __PYX_ERR(1, 2610, __pyx_L1_error)
}
break;
}
@@ -49686,7 +51057,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__Pyx_XDECREF_SET(__pyx_v_factory, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2532
+ /* "dependency_injector/providers.pyx":2611
*
* for factory in factories.values():
* if isinstance(factory, Factory) is False: # <<<<<<<<<<<<<<
@@ -49697,37 +51068,37 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__pyx_t_6 = ((__pyx_t_2 == 0) != 0);
if (unlikely(__pyx_t_6)) {
- /* "dependency_injector/providers.pyx":2533
+ /* "dependency_injector/providers.pyx":2612
* for factory in factories.values():
* if isinstance(factory, Factory) is False:
* raise Error( # <<<<<<<<<<<<<<
* '{0} can aggregate only instances of {1}, given - {2}'.format(
* self.__class__,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Error); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2533, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Error); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2612, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/providers.pyx":2534
+ /* "dependency_injector/providers.pyx":2613
* if isinstance(factory, Factory) is False:
* raise Error(
* '{0} can aggregate only instances of {1}, given - {2}'.format( # <<<<<<<<<<<<<<
* self.__class__,
* Factory,
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_aggregate_only_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2534, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_aggregate_only_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2613, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/providers.pyx":2535
+ /* "dependency_injector/providers.pyx":2614
* raise Error(
* '{0} can aggregate only instances of {1}, given - {2}'.format(
* self.__class__, # <<<<<<<<<<<<<<
* Factory,
* factory,
*/
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2535, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
- /* "dependency_injector/providers.pyx":2537
+ /* "dependency_injector/providers.pyx":2616
* self.__class__,
* Factory,
* factory, # <<<<<<<<<<<<<<
@@ -49749,7 +51120,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_t_10, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory), __pyx_v_factory};
- __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2534, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2613, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -49758,14 +51129,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_t_10, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory), __pyx_v_factory};
- __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2534, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2613, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
} else
#endif
{
- __pyx_t_13 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 2534, __pyx_L1_error)
+ __pyx_t_13 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 2613, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL;
@@ -49779,7 +51150,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__Pyx_GIVEREF(__pyx_v_factory);
PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_v_factory);
__pyx_t_10 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2534, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2613, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -49797,14 +51168,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2533, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2612, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2533, __pyx_L1_error)
+ __PYX_ERR(1, 2612, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2532
+ /* "dependency_injector/providers.pyx":2611
*
* for factory in factories.values():
* if isinstance(factory, Factory) is False: # <<<<<<<<<<<<<<
@@ -49813,7 +51184,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
*/
}
- /* "dependency_injector/providers.pyx":2531
+ /* "dependency_injector/providers.pyx":2610
* factories.update(factories_dict_)
*
* for factory in factories.values(): # <<<<<<<<<<<<<<
@@ -49823,7 +51194,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2541
+ /* "dependency_injector/providers.pyx":2620
* )
*
* self.__factories = factories # <<<<<<<<<<<<<<
@@ -49836,7 +51207,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__Pyx_DECREF(__pyx_v_self->__pyx___factories);
__pyx_v_self->__pyx___factories = __pyx_v_factories;
- /* "dependency_injector/providers.pyx":2542
+ /* "dependency_injector/providers.pyx":2621
*
* self.__factories = factories
* return self # <<<<<<<<<<<<<<
@@ -49848,7 +51219,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2524
+ /* "dependency_injector/providers.pyx":2603
* return self.__factories
*
* def set_factories(self, factories_dict_=None, **factories_kwargs): # <<<<<<<<<<<<<<
@@ -49876,7 +51247,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_8s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2544
+/* "dependency_injector/providers.pyx":2623
* return self
*
* def override(self, _): # <<<<<<<<<<<<<<
@@ -49912,18 +51283,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_10
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":2552
+ /* "dependency_injector/providers.pyx":2631
* :rtype: :py:class:`OverridingContext`
* """
* raise Error('{0} providers could not be overridden'.format(self.__class__)) # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2552, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_providers_could_not_be_overri, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2552, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_providers_could_not_be_overri, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2552, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -49938,7 +51309,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_10
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2552, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -49954,14 +51325,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_10
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2552, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2631, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2552, __pyx_L1_error)
+ __PYX_ERR(1, 2631, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2544
+ /* "dependency_injector/providers.pyx":2623
* return self
*
* def override(self, _): # <<<<<<<<<<<<<<
@@ -49985,7 +51356,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_10
}
static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7related_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":2555
+/* "dependency_injector/providers.pyx":2634
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -50018,7 +51389,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_7r
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_11___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 2555, __pyx_L1_error)
+ __PYX_ERR(1, 2634, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -50026,7 +51397,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_7r
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7related_2generator9, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_FactoryAggregate___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2555, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7related_2generator9, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_FactoryAggregate___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2634, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -50062,9 +51433,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2555, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2634, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2557
+ /* "dependency_injector/providers.pyx":2636
* def related(self):
* """Return related providers generator."""
* yield from self.__factories.values() # <<<<<<<<<<<<<<
@@ -50073,9 +51444,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
*/
if (unlikely(__pyx_cur_scope->__pyx_v_self->__pyx___factories == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
- __PYX_ERR(1, 2557, __pyx_L1_error)
+ __PYX_ERR(1, 2636, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2557, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_cur_scope->__pyx_v_self->__pyx___factories); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -50088,23 +51459,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2557, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2636, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2557, __pyx_L1_error)
+ else __PYX_ERR(1, 2636, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2558
+ /* "dependency_injector/providers.pyx":2637
* """Return related providers generator."""
* yield from self.__factories.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2558, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate));
@@ -50112,10 +51483,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2558, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2558, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -50129,17 +51500,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2558, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2637, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2558, __pyx_L1_error)
+ else __PYX_ERR(1, 2637, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":2555
+ /* "dependency_injector/providers.pyx":2634
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -50165,7 +51536,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16FactoryAggregate_7r
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2560
+/* "dependency_injector/providers.pyx":2639
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -50206,7 +51577,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_16FactoryAggregate_13_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -50226,7 +51597,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -50234,13 +51605,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -50251,7 +51622,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -50274,7 +51645,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
#endif
}
- /* "dependency_injector/providers.pyx":2561
+ /* "dependency_injector/providers.pyx":2640
*
* cpdef object _provide(self, tuple args, dict kwargs):
* try: # <<<<<<<<<<<<<<
@@ -50290,7 +51661,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2562
+ /* "dependency_injector/providers.pyx":2641
* cpdef object _provide(self, tuple args, dict kwargs):
* try:
* factory_name = args[0] # <<<<<<<<<<<<<<
@@ -50299,14 +51670,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
*/
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 2562, __pyx_L3_error)
+ __PYX_ERR(1, 2641, __pyx_L3_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2562, __pyx_L3_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2641, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_factory_name = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2561
+ /* "dependency_injector/providers.pyx":2640
*
* cpdef object _provide(self, tuple args, dict kwargs):
* try: # <<<<<<<<<<<<<<
@@ -50315,7 +51686,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
*/
}
- /* "dependency_injector/providers.pyx":2569
+ /* "dependency_injector/providers.pyx":2648
* raise TypeError('Factory missing 1 required positional argument: \'factory_name\'')
* else:
* args = args[1:] # <<<<<<<<<<<<<<
@@ -50325,9 +51696,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
/*else:*/ {
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 2569, __pyx_L5_except_error)
+ __PYX_ERR(1, 2648, __pyx_L5_except_error)
}
- __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_args, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2569, __pyx_L5_except_error)
+ __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_args, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2648, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_args, ((PyObject*)__pyx_t_1));
__pyx_t_1 = 0;
@@ -50343,7 +51714,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2563
+ /* "dependency_injector/providers.pyx":2642
* try:
* factory_name = args[0]
* except IndexError: # <<<<<<<<<<<<<<
@@ -50353,12 +51724,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(1, 2563, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(1, 2642, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":2564
+ /* "dependency_injector/providers.pyx":2643
* factory_name = args[0]
* except IndexError:
* try: # <<<<<<<<<<<<<<
@@ -50374,7 +51745,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__Pyx_XGOTREF(__pyx_t_12);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2565
+ /* "dependency_injector/providers.pyx":2644
* except IndexError:
* try:
* factory_name = kwargs.pop('factory_name') # <<<<<<<<<<<<<<
@@ -50383,14 +51754,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
- __PYX_ERR(1, 2565, __pyx_L11_error)
+ __PYX_ERR(1, 2644, __pyx_L11_error)
}
- __pyx_t_6 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_n_s_factory_name, ((PyObject *)NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2565, __pyx_L11_error)
+ __pyx_t_6 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_n_s_factory_name, ((PyObject *)NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2644, __pyx_L11_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_factory_name, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2564
+ /* "dependency_injector/providers.pyx":2643
* factory_name = args[0]
* except IndexError:
* try: # <<<<<<<<<<<<<<
@@ -50406,7 +51777,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2566
+ /* "dependency_injector/providers.pyx":2645
* try:
* factory_name = kwargs.pop('factory_name')
* except KeyError: # <<<<<<<<<<<<<<
@@ -50416,28 +51787,28 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_13) < 0) __PYX_ERR(1, 2566, __pyx_L13_except_error)
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_13) < 0) __PYX_ERR(1, 2645, __pyx_L13_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_13);
- /* "dependency_injector/providers.pyx":2567
+ /* "dependency_injector/providers.pyx":2646
* factory_name = kwargs.pop('factory_name')
* except KeyError:
* raise TypeError('Factory missing 1 required positional argument: \'factory_name\'') # <<<<<<<<<<<<<<
* else:
* args = args[1:]
*/
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2567, __pyx_L13_except_error)
+ __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2646, __pyx_L13_except_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_Raise(__pyx_t_14, 0, 0, 0);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
- __PYX_ERR(1, 2567, __pyx_L13_except_error)
+ __PYX_ERR(1, 2646, __pyx_L13_except_error)
}
goto __pyx_L13_except_error;
__pyx_L13_except_error:;
- /* "dependency_injector/providers.pyx":2564
+ /* "dependency_injector/providers.pyx":2643
* factory_name = args[0]
* except IndexError:
* try: # <<<<<<<<<<<<<<
@@ -50459,7 +51830,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":2561
+ /* "dependency_injector/providers.pyx":2640
*
* cpdef object _provide(self, tuple args, dict kwargs):
* try: # <<<<<<<<<<<<<<
@@ -50479,7 +51850,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":2571
+ /* "dependency_injector/providers.pyx":2650
* args = args[1:]
*
* return self.__get_factory(factory_name)(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -50487,24 +51858,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16FactoryAggregate__pr
* cdef Factory __get_factory(self, object factory_key):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx___get_factory(__pyx_v_self, __pyx_v_factory_name)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2571, __pyx_L1_error)
+ __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx___get_factory(__pyx_v_self, __pyx_v_factory_name)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 2571, __pyx_L1_error)
+ __PYX_ERR(1, 2650, __pyx_L1_error)
}
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 2571, __pyx_L1_error)
+ __PYX_ERR(1, 2650, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2571, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2650, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_1;
+ __pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2560
+ /* "dependency_injector/providers.pyx":2639
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -50565,11 +51939,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16FactoryAggregate_13
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2560, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2639, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2560, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2639, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -50582,14 +51956,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16FactoryAggregate_13
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2560, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2639, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.FactoryAggregate._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2560, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2560, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2639, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2639, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_16FactoryAggregate_12_provide(((struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -50610,7 +51984,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_12
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16FactoryAggregate__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2560, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16FactoryAggregate__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -50627,7 +52001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_12
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2573
+/* "dependency_injector/providers.pyx":2652
* return self.__get_factory(factory_name)(*args, **kwargs)
*
* cdef Factory __get_factory(self, object factory_key): # <<<<<<<<<<<<<<
@@ -50652,7 +52026,7 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get_factory", 0);
- /* "dependency_injector/providers.pyx":2574
+ /* "dependency_injector/providers.pyx":2653
*
* cdef Factory __get_factory(self, object factory_key):
* if factory_key not in self.__factories: # <<<<<<<<<<<<<<
@@ -50661,22 +52035,22 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
*/
if (unlikely(__pyx_v_self->__pyx___factories == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 2574, __pyx_L1_error)
+ __PYX_ERR(1, 2653, __pyx_L1_error)
}
- __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_factory_key, __pyx_v_self->__pyx___factories, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 2574, __pyx_L1_error)
+ __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_factory_key, __pyx_v_self->__pyx___factories, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 2653, __pyx_L1_error)
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":2575
+ /* "dependency_injector/providers.pyx":2654
* cdef Factory __get_factory(self, object factory_key):
* if factory_key not in self.__factories:
* raise NoSuchProviderError('{0} does not contain factory with name {1}'.format(self, factory_key)) # <<<<<<<<<<<<<<
* return self.__factories[factory_key]
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NoSuchProviderError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NoSuchProviderError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_does_not_contain_factory_with, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_does_not_contain_factory_with, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -50693,7 +52067,7 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), __pyx_v_factory_key};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -50701,13 +52075,13 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), __pyx_v_factory_key};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -50718,7 +52092,7 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
__Pyx_INCREF(__pyx_v_factory_key);
__Pyx_GIVEREF(__pyx_v_factory_key);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_factory_key);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -50736,14 +52110,14 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2575, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2575, __pyx_L1_error)
+ __PYX_ERR(1, 2654, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2574
+ /* "dependency_injector/providers.pyx":2653
*
* cdef Factory __get_factory(self, object factory_key):
* if factory_key not in self.__factories: # <<<<<<<<<<<<<<
@@ -50752,7 +52126,7 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
*/
}
- /* "dependency_injector/providers.pyx":2576
+ /* "dependency_injector/providers.pyx":2655
* if factory_key not in self.__factories:
* raise NoSuchProviderError('{0} does not contain factory with name {1}'.format(self, factory_key))
* return self.__factories[factory_key] # <<<<<<<<<<<<<<
@@ -50762,16 +52136,16 @@ static struct __pyx_obj_19dependency_injector_9providers_Factory *__pyx_f_19depe
__Pyx_XDECREF(((PyObject *)__pyx_r));
if (unlikely(__pyx_v_self->__pyx___factories == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 2576, __pyx_L1_error)
+ __PYX_ERR(1, 2655, __pyx_L1_error)
}
- __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___factories, __pyx_v_factory_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2576, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___factories, __pyx_v_factory_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2655, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_3)));
__pyx_r = ((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2573
+ /* "dependency_injector/providers.pyx":2652
* return self.__get_factory(factory_name)(*args, **kwargs)
*
* cdef Factory __get_factory(self, object factory_key): # <<<<<<<<<<<<<<
@@ -51127,7 +52501,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16FactoryAggregate_16
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2584
+/* "dependency_injector/providers.pyx":2663
* provided_type = None
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -51187,7 +52561,7 @@ static int __pyx_pw_19dependency_injector_9providers_13BaseSingleton_1__init__(P
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2584, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2663, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -51227,14 +52601,14 @@ static int __pyx_pf_19dependency_injector_9providers_13BaseSingleton___init__(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2586
+ /* "dependency_injector/providers.pyx":2665
* def __init__(self, provides=None, *args, **kwargs):
* """Initialize provider."""
* self.__instantiator = Factory() # <<<<<<<<<<<<<<
* self.set_provides(provides)
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2586, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2665, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___instantiator);
@@ -51242,14 +52616,14 @@ static int __pyx_pf_19dependency_injector_9providers_13BaseSingleton___init__(st
__pyx_v_self->__pyx___instantiator = ((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2587
+ /* "dependency_injector/providers.pyx":2666
* """Initialize provider."""
* self.__instantiator = Factory()
* self.set_provides(provides) # <<<<<<<<<<<<<<
* self.set_args(*args)
* self.set_kwargs(**kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2587, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -51263,78 +52637,81 @@ static int __pyx_pf_19dependency_injector_9providers_13BaseSingleton___init__(st
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2587, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2588
+ /* "dependency_injector/providers.pyx":2667
* self.__instantiator = Factory()
* self.set_provides(provides)
* self.set_args(*args) # <<<<<<<<<<<<<<
* self.set_kwargs(**kwargs)
* super(BaseSingleton, self).__init__()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2588, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2588, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2589
+ /* "dependency_injector/providers.pyx":2668
* self.set_provides(provides)
* self.set_args(*args)
* self.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
* super(BaseSingleton, self).__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2589, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2589, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2668, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2668, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2590
+ /* "dependency_injector/providers.pyx":2669
* self.set_args(*args)
* self.set_kwargs(**kwargs)
* super(BaseSingleton, self).__init__() # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2590, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2669, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2590, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2590, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2590, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2669, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2584
+ /* "dependency_injector/providers.pyx":2663
* provided_type = None
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -51356,7 +52733,7 @@ static int __pyx_pf_19dependency_injector_9providers_13BaseSingleton___init__(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2592
+/* "dependency_injector/providers.pyx":2671
* super(BaseSingleton, self).__init__()
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -51391,7 +52768,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_2__st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":2597
+ /* "dependency_injector/providers.pyx":2676
* :rtype: str
* """
* return represent_provider(provider=self, # <<<<<<<<<<<<<<
@@ -51400,31 +52777,31 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_2__st
*/
__Pyx_XDECREF(__pyx_r);
- /* "dependency_injector/providers.pyx":2598
+ /* "dependency_injector/providers.pyx":2677
* """
* return represent_provider(provider=self,
* provides=self.__instantiator.cls) # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2598, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_cls); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":2597
+ /* "dependency_injector/providers.pyx":2676
* :rtype: str
* """
* return represent_provider(provider=self, # <<<<<<<<<<<<<<
* provides=self.__instantiator.cls)
*
*/
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2597, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2676, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2592
+ /* "dependency_injector/providers.pyx":2671
* super(BaseSingleton, self).__init__()
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -51444,7 +52821,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_2__st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2600
+/* "dependency_injector/providers.pyx":2679
* provides=self.__instantiator.cls)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -51482,16 +52859,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":2602
+ /* "dependency_injector/providers.pyx":2681
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2602, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2681, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2602, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2681, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -51506,13 +52883,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2602, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2681, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2603
+ /* "dependency_injector/providers.pyx":2682
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -51523,7 +52900,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":2604
+ /* "dependency_injector/providers.pyx":2683
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -51535,7 +52912,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2603
+ /* "dependency_injector/providers.pyx":2682
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -51544,32 +52921,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
*/
}
- /* "dependency_injector/providers.pyx":2606
+ /* "dependency_injector/providers.pyx":2685
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2606, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2606, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2685, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2685, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2607
+ /* "dependency_injector/providers.pyx":2686
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2607, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2607, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2607, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2607, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2686, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -51585,121 +52962,121 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2607, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2608
+ /* "dependency_injector/providers.pyx":2687
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo))
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2608, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2608, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2608, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2687, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2608, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2608, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2608, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2609
+ /* "dependency_injector/providers.pyx":2688
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<<
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2609, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2688, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 2609, __pyx_L1_error)
+ __PYX_ERR(1, 2688, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2609, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2610
+ /* "dependency_injector/providers.pyx":2689
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2610, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2689, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 2610, __pyx_L1_error)
+ __PYX_ERR(1, 2689, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_1))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2610, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2611
+ /* "dependency_injector/providers.pyx":2690
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2611, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2611, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 2690, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 2690, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":2612
+ /* "dependency_injector/providers.pyx":2691
* copied.set_attributes(**deepcopy(self.attributes, memo))
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -51711,7 +53088,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2600
+ /* "dependency_injector/providers.pyx":2679
* provides=self.__instantiator.cls)
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -51734,7 +53111,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4__de
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2615
+/* "dependency_injector/providers.pyx":2694
*
* @property
* def cls(self): # <<<<<<<<<<<<<<
@@ -51764,7 +53141,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_3cls_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2617
+ /* "dependency_injector/providers.pyx":2696
* def cls(self):
* """Return provided type."""
* return self.provides # <<<<<<<<<<<<<<
@@ -51772,13 +53149,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_3cls_
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2617, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2615
+ /* "dependency_injector/providers.pyx":2694
*
* @property
* def cls(self): # <<<<<<<<<<<<<<
@@ -51797,7 +53174,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_3cls_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2620
+/* "dependency_injector/providers.pyx":2699
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -51827,7 +53204,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8prov
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2622
+ /* "dependency_injector/providers.pyx":2701
* def provides(self):
* """Return provider's provides."""
* return self.__instantiator.provides # <<<<<<<<<<<<<<
@@ -51835,13 +53212,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8prov
* def set_provides(self, provides):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2622, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2620
+ /* "dependency_injector/providers.pyx":2699
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -51860,7 +53237,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8prov
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2624
+/* "dependency_injector/providers.pyx":2703
* return self.__instantiator.provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -51902,33 +53279,33 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":2626
+ /* "dependency_injector/providers.pyx":2705
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)):
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2626, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_provides); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2705, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2627
+ /* "dependency_injector/providers.pyx":2706
* """Set provider's provides."""
* if (provides
* and self.__class__.provided_type and # <<<<<<<<<<<<<<
* not issubclass(provides, self.__class__.provided_type)):
* raise Error(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2627, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2627, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2627, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 2706, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
} else {
@@ -51936,25 +53313,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
goto __pyx_L4_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":2628
+ /* "dependency_injector/providers.pyx":2707
* if (provides
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)): # <<<<<<<<<<<<<<
* raise Error(
* '{0} can provide only {1} instances'.format(
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2628, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2707, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2628, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2707, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = PyObject_IsSubclass(__pyx_v_provides, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2628, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsSubclass(__pyx_v_provides, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 2707, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_5 = ((!(__pyx_t_2 != 0)) != 0);
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
- /* "dependency_injector/providers.pyx":2626
+ /* "dependency_injector/providers.pyx":2705
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
@@ -51963,46 +53340,46 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
*/
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":2629
+ /* "dependency_injector/providers.pyx":2708
* and self.__class__.provided_type and
* not issubclass(provides, self.__class__.provided_type)):
* raise Error( # <<<<<<<<<<<<<<
* '{0} can provide only {1} instances'.format(
* _class_qualname(self),
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2629, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":2630
+ /* "dependency_injector/providers.pyx":2709
* not issubclass(provides, self.__class__.provided_type)):
* raise Error(
* '{0} can provide only {1} instances'.format( # <<<<<<<<<<<<<<
* _class_qualname(self),
* self.__class__.provided_type,
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_provide_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2630, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_provide_only_1_instances, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/providers.pyx":2631
+ /* "dependency_injector/providers.pyx":2710
* raise Error(
* '{0} can provide only {1} instances'.format(
* _class_qualname(self), # <<<<<<<<<<<<<<
* self.__class__.provided_type,
* ),
*/
- __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2631, __pyx_L1_error)
+ __pyx_t_8 = __pyx_f_19dependency_injector_9providers__class_qualname(((PyObject *)__pyx_v_self), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2710, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- /* "dependency_injector/providers.pyx":2632
+ /* "dependency_injector/providers.pyx":2711
* '{0} can provide only {1} instances'.format(
* _class_qualname(self),
* self.__class__.provided_type, # <<<<<<<<<<<<<<
* ),
* )
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2632, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2632, __pyx_L1_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_provided_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = NULL;
@@ -52020,7 +53397,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2630, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2709, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -52030,7 +53407,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, __pyx_t_10};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2630, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2709, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -52038,7 +53415,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
} else
#endif
{
- __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2630, __pyx_L1_error)
+ __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -52049,7 +53426,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_10);
__pyx_t_8 = 0;
__pyx_t_10 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2630, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
@@ -52067,14 +53444,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2629, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2708, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 2629, __pyx_L1_error)
+ __PYX_ERR(1, 2708, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2626
+ /* "dependency_injector/providers.pyx":2705
* def set_provides(self, provides):
* """Set provider's provides."""
* if (provides # <<<<<<<<<<<<<<
@@ -52083,14 +53460,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
*/
}
- /* "dependency_injector/providers.pyx":2635
+ /* "dependency_injector/providers.pyx":2714
* ),
* )
* self.__instantiator.set_provides(provides) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2635, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -52104,12 +53481,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2635, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2636
+ /* "dependency_injector/providers.pyx":2715
* )
* self.__instantiator.set_provides(provides)
* return self # <<<<<<<<<<<<<<
@@ -52121,7 +53498,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2624
+ /* "dependency_injector/providers.pyx":2703
* return self.__instantiator.provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -52147,7 +53524,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6set_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2639
+/* "dependency_injector/providers.pyx":2718
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -52177,7 +53554,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4args
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2641
+ /* "dependency_injector/providers.pyx":2720
* def args(self):
* """Return positional argument injections."""
* return self.__instantiator.args # <<<<<<<<<<<<<<
@@ -52185,13 +53562,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4args
* def add_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2641, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2639
+ /* "dependency_injector/providers.pyx":2718
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -52210,7 +53587,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_4args
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2643
+/* "dependency_injector/providers.pyx":2722
* return self.__instantiator.args
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -52247,21 +53624,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8add_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_args", 0);
- /* "dependency_injector/providers.pyx":2648
+ /* "dependency_injector/providers.pyx":2727
* :return: Reference ``self``
* """
* self.__instantiator.add_args(*args) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2648, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2648, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2649
+ /* "dependency_injector/providers.pyx":2728
* """
* self.__instantiator.add_args(*args)
* return self # <<<<<<<<<<<<<<
@@ -52273,7 +53650,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8add_
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2643
+ /* "dependency_injector/providers.pyx":2722
* return self.__instantiator.args
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -52293,7 +53670,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_8add_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2651
+/* "dependency_injector/providers.pyx":2730
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -52330,21 +53707,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10set
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":2658
+ /* "dependency_injector/providers.pyx":2737
* :return: Reference ``self``
* """
* self.__instantiator.set_args(*args) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2658, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2658, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2659
+ /* "dependency_injector/providers.pyx":2738
* """
* self.__instantiator.set_args(*args)
* return self # <<<<<<<<<<<<<<
@@ -52356,7 +53733,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2651
+ /* "dependency_injector/providers.pyx":2730
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -52376,7 +53753,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2661
+/* "dependency_injector/providers.pyx":2740
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -52409,14 +53786,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_12cle
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_args", 0);
- /* "dependency_injector/providers.pyx":2666
+ /* "dependency_injector/providers.pyx":2745
* :return: Reference ``self``
* """
* self.__instantiator.clear_args() # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2666, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2745, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -52430,12 +53807,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_12cle
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2666, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2745, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2667
+ /* "dependency_injector/providers.pyx":2746
* """
* self.__instantiator.clear_args()
* return self # <<<<<<<<<<<<<<
@@ -52447,7 +53824,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_12cle
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2661
+ /* "dependency_injector/providers.pyx":2740
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -52468,7 +53845,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_12cle
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2670
+/* "dependency_injector/providers.pyx":2749
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -52498,7 +53875,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6kwar
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2672
+ /* "dependency_injector/providers.pyx":2751
* def kwargs(self):
* """Return keyword argument injections."""
* return self.__instantiator.kwargs # <<<<<<<<<<<<<<
@@ -52506,13 +53883,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6kwar
* def add_kwargs(self, **kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2672, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2670
+ /* "dependency_injector/providers.pyx":2749
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -52531,7 +53908,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_6kwar
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2674
+/* "dependency_injector/providers.pyx":2753
* return self.__instantiator.kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52550,12 +53927,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_15add
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("add_kwargs", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "add_kwargs", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_13BaseSingleton_14add_kwargs(((struct __pyx_obj_19dependency_injector_9providers_BaseSingleton *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -52569,26 +53942,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_14add
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_kwargs", 0);
- /* "dependency_injector/providers.pyx":2679
+ /* "dependency_injector/providers.pyx":2758
* :return: Reference ``self``
* """
* self.__instantiator.add_kwargs(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2679, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2679, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2758, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2680
+ /* "dependency_injector/providers.pyx":2759
* """
* self.__instantiator.add_kwargs(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -52600,7 +53977,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_14add
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2674
+ /* "dependency_injector/providers.pyx":2753
* return self.__instantiator.kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52612,6 +53989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_14add
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton.add_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -52620,7 +53998,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_14add
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2682
+/* "dependency_injector/providers.pyx":2761
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52639,12 +54017,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_17set
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("set_kwargs", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_kwargs", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_13BaseSingleton_16set_kwargs(((struct __pyx_obj_19dependency_injector_9providers_BaseSingleton *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -52658,26 +54032,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_16set
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_kwargs", 0);
- /* "dependency_injector/providers.pyx":2689
+ /* "dependency_injector/providers.pyx":2768
* :return: Reference ``self``
* """
* self.__instantiator.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2689, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2689, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2768, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2690
+ /* "dependency_injector/providers.pyx":2769
* """
* self.__instantiator.set_kwargs(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -52689,7 +54067,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_16set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2682
+ /* "dependency_injector/providers.pyx":2761
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52701,6 +54079,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_16set
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton.set_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -52709,7 +54088,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_16set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2692
+/* "dependency_injector/providers.pyx":2771
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -52742,14 +54121,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_18cle
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_kwargs", 0);
- /* "dependency_injector/providers.pyx":2697
+ /* "dependency_injector/providers.pyx":2776
* :return: Reference ``self``
* """
* self.__instantiator.clear_kwargs() # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2697, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -52763,12 +54142,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_18cle
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2697, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2698
+ /* "dependency_injector/providers.pyx":2777
* """
* self.__instantiator.clear_kwargs()
* return self # <<<<<<<<<<<<<<
@@ -52780,7 +54159,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_18cle
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2692
+ /* "dependency_injector/providers.pyx":2771
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -52801,7 +54180,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_18cle
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2701
+/* "dependency_injector/providers.pyx":2780
*
* @property
* def attributes(self): # <<<<<<<<<<<<<<
@@ -52831,7 +54210,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10att
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":2703
+ /* "dependency_injector/providers.pyx":2782
* def attributes(self):
* """Return attribute injections."""
* return self.__instantiator.attributes # <<<<<<<<<<<<<<
@@ -52839,13 +54218,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10att
* def add_attributes(self, **kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2703, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2701
+ /* "dependency_injector/providers.pyx":2780
*
* @property
* def attributes(self): # <<<<<<<<<<<<<<
@@ -52864,7 +54243,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_10att
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2705
+/* "dependency_injector/providers.pyx":2784
* return self.__instantiator.attributes
*
* def add_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52883,12 +54262,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_21add
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("add_attributes", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "add_attributes", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_13BaseSingleton_20add_attributes(((struct __pyx_obj_19dependency_injector_9providers_BaseSingleton *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -52902,26 +54277,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_20add
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_attributes", 0);
- /* "dependency_injector/providers.pyx":2710
+ /* "dependency_injector/providers.pyx":2789
* :return: Reference ``self``
* """
* self.__instantiator.add_attributes(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2710, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_add_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2710, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2789, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2711
+ /* "dependency_injector/providers.pyx":2790
* """
* self.__instantiator.add_attributes(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -52933,7 +54312,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_20add
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2705
+ /* "dependency_injector/providers.pyx":2784
* return self.__instantiator.attributes
*
* def add_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52945,6 +54324,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_20add
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton.add_attributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -52953,7 +54333,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_20add
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2713
+/* "dependency_injector/providers.pyx":2792
* return self
*
* def set_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -52972,12 +54352,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_23set
if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
__Pyx_RaiseArgtupleInvalid("set_attributes", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_attributes", 1))) return NULL;
- if (__pyx_kwds) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__pyx_r = __pyx_pf_19dependency_injector_9providers_13BaseSingleton_22set_attributes(((struct __pyx_obj_19dependency_injector_9providers_BaseSingleton *)__pyx_v_self), __pyx_v_kwargs);
/* function exit code */
@@ -52991,26 +54367,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_22set
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_attributes", 0);
- /* "dependency_injector/providers.pyx":2720
+ /* "dependency_injector/providers.pyx":2799
* :return: Reference ``self``
* """
* self.__instantiator.set_attributes(**kwargs) # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2720, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_set_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2720, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2799, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2799, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2721
+ /* "dependency_injector/providers.pyx":2800
* """
* self.__instantiator.set_attributes(**kwargs)
* return self # <<<<<<<<<<<<<<
@@ -53022,7 +54402,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_22set
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2713
+ /* "dependency_injector/providers.pyx":2792
* return self
*
* def set_attributes(self, **kwargs): # <<<<<<<<<<<<<<
@@ -53034,6 +54414,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_22set
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton.set_attributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -53042,7 +54423,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_22set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2723
+/* "dependency_injector/providers.pyx":2802
* return self
*
* def clear_attributes(self): # <<<<<<<<<<<<<<
@@ -53075,14 +54456,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_24cle
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_attributes", 0);
- /* "dependency_injector/providers.pyx":2728
+ /* "dependency_injector/providers.pyx":2807
* :return: Reference ``self``
* """
* self.__instantiator.clear_attributes() # <<<<<<<<<<<<<<
* return self
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2728, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___instantiator), __pyx_n_s_clear_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -53096,12 +54477,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_24cle
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2728, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2729
+ /* "dependency_injector/providers.pyx":2808
* """
* self.__instantiator.clear_attributes()
* return self # <<<<<<<<<<<<<<
@@ -53113,7 +54494,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_24cle
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2723
+ /* "dependency_injector/providers.pyx":2802
* return self
*
* def clear_attributes(self): # <<<<<<<<<<<<<<
@@ -53134,7 +54515,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_24cle
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2731
+/* "dependency_injector/providers.pyx":2810
* return self
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -53165,20 +54546,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_26res
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":2736
+ /* "dependency_injector/providers.pyx":2815
* :rtype: None
* """
* raise NotImplementedError() # <<<<<<<<<<<<<<
*
* def full_reset(self):
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2736, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 2736, __pyx_L1_error)
+ __PYX_ERR(1, 2815, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2731
+ /* "dependency_injector/providers.pyx":2810
* return self
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -53196,7 +54577,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_26res
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2738
+/* "dependency_injector/providers.pyx":2817
* raise NotImplementedError()
*
* def full_reset(self): # <<<<<<<<<<<<<<
@@ -53233,14 +54614,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("full_reset", 0);
- /* "dependency_injector/providers.pyx":2743
+ /* "dependency_injector/providers.pyx":2822
* :rtype: :py:class:`SingletonFullResetContext`
* """
* self.reset() # <<<<<<<<<<<<<<
* for provider in self.traverse(types=[BaseSingleton]):
* provider.reset()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2743, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2822, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -53254,30 +54635,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2743, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2822, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2744
+ /* "dependency_injector/providers.pyx":2823
* """
* self.reset()
* for provider in self.traverse(types=[BaseSingleton]): # <<<<<<<<<<<<<<
* provider.reset()
* return SingletonFullResetContext(self)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_traverse); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(1, 2744, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -53285,9 +54666,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
__pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2823, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
@@ -53295,17 +54676,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2823, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 2823, __pyx_L1_error)
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2744, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
@@ -53315,7 +54696,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 2744, __pyx_L1_error)
+ else __PYX_ERR(1, 2823, __pyx_L1_error)
}
break;
}
@@ -53324,14 +54705,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2745
+ /* "dependency_injector/providers.pyx":2824
* self.reset()
* for provider in self.traverse(types=[BaseSingleton]):
* provider.reset() # <<<<<<<<<<<<<<
* return SingletonFullResetContext(self)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2745, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -53345,12 +54726,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2745, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":2744
+ /* "dependency_injector/providers.pyx":2823
* """
* self.reset()
* for provider in self.traverse(types=[BaseSingleton]): # <<<<<<<<<<<<<<
@@ -53360,7 +54741,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2746
+ /* "dependency_injector/providers.pyx":2825
* for provider in self.traverse(types=[BaseSingleton]):
* provider.reset()
* return SingletonFullResetContext(self) # <<<<<<<<<<<<<<
@@ -53368,13 +54749,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2746, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2825, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2738
+ /* "dependency_injector/providers.pyx":2817
* raise NotImplementedError()
*
* def full_reset(self): # <<<<<<<<<<<<<<
@@ -53398,7 +54779,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_28ful
}
static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7related_2generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":2749
+/* "dependency_injector/providers.pyx":2828
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -53431,7 +54812,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_7rela
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_12___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 2749, __pyx_L1_error)
+ __PYX_ERR(1, 2828, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -53439,7 +54820,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_7rela
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_13BaseSingleton_7related_2generator10, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_BaseSingleton___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2749, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_13BaseSingleton_7related_2generator10, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_BaseSingleton___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 2828, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -53480,25 +54861,25 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2749, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2828, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2751
+ /* "dependency_injector/providers.pyx":2830
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, [self.__instantiator.provides]) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self->__pyx___instantiator), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -53506,7 +54887,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3);
@@ -53520,27 +54901,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2751, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2830, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2751, __pyx_L1_error)
+ else __PYX_ERR(1, 2830, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2752
+ /* "dependency_injector/providers.pyx":2831
* """Return related providers generator."""
* yield from filter(is_provider, [self.__instantiator.provides])
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2752, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2752, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2752, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
@@ -53548,7 +54929,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
__pyx_t_3 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2752, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -53562,27 +54943,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2752, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2831, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2752, __pyx_L1_error)
+ else __PYX_ERR(1, 2831, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2753
+ /* "dependency_injector/providers.pyx":2832
* yield from filter(is_provider, [self.__instantiator.provides])
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.attributes.values())
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -53597,10 +54978,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
@@ -53608,7 +54989,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2832, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -53622,27 +55003,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2753, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2832, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2753, __pyx_L1_error)
+ else __PYX_ERR(1, 2832, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2754
+ /* "dependency_injector/providers.pyx":2833
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -53657,10 +55038,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
}
__pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
@@ -53668,7 +55049,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
__pyx_t_1 = 0;
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -53682,23 +55063,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L7_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2754, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2833, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2754, __pyx_L1_error)
+ else __PYX_ERR(1, 2833, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":2755
+ /* "dependency_injector/providers.pyx":2834
* yield from filter(is_provider, self.kwargs.values())
* yield from filter(is_provider, self.attributes.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* def _async_init_instance(self, future_result, result):
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2755, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2834, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
@@ -53706,10 +55087,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2755, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2834, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2755, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2834, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -53723,17 +55104,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
__pyx_generator->resume_label = 5;
return __pyx_r;
__pyx_L8_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2755, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 2834, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 2755, __pyx_L1_error)
+ else __PYX_ERR(1, 2834, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":2749
+ /* "dependency_injector/providers.pyx":2828
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -53761,7 +55142,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_13BaseSingleton_7rela
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2757
+/* "dependency_injector/providers.pyx":2836
* yield from super().related
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -53803,11 +55184,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_31_as
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 2757, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 2836, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 2757, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 2836, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -53820,7 +55201,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_13BaseSingleton_31_as
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2757, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2836, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -53853,7 +55234,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_init_instance", 0);
- /* "dependency_injector/providers.pyx":2758
+ /* "dependency_injector/providers.pyx":2837
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -53869,14 +55250,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2759
+ /* "dependency_injector/providers.pyx":2838
* def _async_init_instance(self, future_result, result):
* try:
* instance = result.result() # <<<<<<<<<<<<<<
* except Exception as exception:
* self.__storage = None
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2759, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2838, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -53890,13 +55271,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2759, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2838, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_instance = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2758
+ /* "dependency_injector/providers.pyx":2837
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -53905,7 +55286,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
*/
}
- /* "dependency_injector/providers.pyx":2764
+ /* "dependency_injector/providers.pyx":2843
* future_result.set_exception(exception)
* else:
* self.__storage = instance # <<<<<<<<<<<<<<
@@ -53919,14 +55300,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__Pyx_DECREF(__pyx_v_self->__pyx___storage);
__pyx_v_self->__pyx___storage = __pyx_v_instance;
- /* "dependency_injector/providers.pyx":2765
+ /* "dependency_injector/providers.pyx":2844
* else:
* self.__storage = instance
* future_result.set_result(instance) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2765, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2844, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -53940,7 +55321,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2765, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2844, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -53954,7 +55335,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2760
+ /* "dependency_injector/providers.pyx":2839
* try:
* instance = result.result()
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -53964,14 +55345,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.BaseSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 2760, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 2839, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pyx":2761
+ /* "dependency_injector/providers.pyx":2840
* instance = result.result()
* except Exception as exception:
* self.__storage = None # <<<<<<<<<<<<<<
@@ -53984,14 +55365,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__Pyx_DECREF(__pyx_v_self->__pyx___storage);
__pyx_v_self->__pyx___storage = Py_None;
- /* "dependency_injector/providers.pyx":2762
+ /* "dependency_injector/providers.pyx":2841
* except Exception as exception:
* self.__storage = None
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* self.__storage = instance
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2762, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2841, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -54005,7 +55386,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2762, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2841, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -54017,7 +55398,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":2758
+ /* "dependency_injector/providers.pyx":2837
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -54037,7 +55418,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_30_as
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":2757
+ /* "dependency_injector/providers.pyx":2836
* yield from super().related
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -54407,7 +55788,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_13BaseSingleton_34__s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2800
+/* "dependency_injector/providers.pyx":2879
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -54467,7 +55848,7 @@ static int __pyx_pw_19dependency_injector_9providers_9Singleton_1__init__(PyObje
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2800, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2879, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -54502,12 +55883,13 @@ static int __pyx_pf_19dependency_injector_9providers_9Singleton___init__(struct
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2806
+ /* "dependency_injector/providers.pyx":2885
* :type provides: type
* """
* self.__storage = None # <<<<<<<<<<<<<<
@@ -54520,14 +55902,14 @@ static int __pyx_pf_19dependency_injector_9providers_9Singleton___init__(struct
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = Py_None;
- /* "dependency_injector/providers.pyx":2807
+ /* "dependency_injector/providers.pyx":2886
* """
* self.__storage = None
* super(Singleton, self).__init__(provides, *args, **kwargs) # <<<<<<<<<<<<<<
*
* def reset(self):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Singleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Singleton));
@@ -54535,27 +55917,30 @@ static int __pyx_pf_19dependency_injector_9providers_9Singleton___init__(struct
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_provides);
__Pyx_GIVEREF(__pyx_v_provides);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_provides);
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2807, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2886, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2886, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2800
+ /* "dependency_injector/providers.pyx":2879
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -54570,6 +55955,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Singleton___init__(struct
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("dependency_injector.providers.Singleton.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -54577,7 +55963,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Singleton___init__(struct
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2809
+/* "dependency_injector/providers.pyx":2888
* super(Singleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -54612,7 +55998,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":2814
+ /* "dependency_injector/providers.pyx":2893
* :rtype: None
* """
* if __is_future_or_coroutine(self.__storage): # <<<<<<<<<<<<<<
@@ -54625,16 +56011,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":2815
+ /* "dependency_injector/providers.pyx":2894
* """
* if __is_future_or_coroutine(self.__storage):
* asyncio.ensure_future(self.__storage).cancel() # <<<<<<<<<<<<<<
* self.__storage = None
* return SingletonResetContext(self)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2815, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2815, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -54649,10 +56035,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_self->__pyx_base.__pyx___storage) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self->__pyx_base.__pyx___storage);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2815, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cancel); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2815, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cancel); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -54667,12 +56053,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2815, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2814
+ /* "dependency_injector/providers.pyx":2893
* :rtype: None
* """
* if __is_future_or_coroutine(self.__storage): # <<<<<<<<<<<<<<
@@ -54681,7 +56067,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
*/
}
- /* "dependency_injector/providers.pyx":2816
+ /* "dependency_injector/providers.pyx":2895
* if __is_future_or_coroutine(self.__storage):
* asyncio.ensure_future(self.__storage).cancel()
* self.__storage = None # <<<<<<<<<<<<<<
@@ -54694,7 +56080,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = Py_None;
- /* "dependency_injector/providers.pyx":2817
+ /* "dependency_injector/providers.pyx":2896
* asyncio.ensure_future(self.__storage).cancel()
* self.__storage = None
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -54702,13 +56088,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2817, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2809
+ /* "dependency_injector/providers.pyx":2888
* super(Singleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -54730,7 +56116,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_2reset(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2819
+/* "dependency_injector/providers.pyx":2898
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -54767,7 +56153,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_9Singleton_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -54787,7 +56173,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -54795,13 +56181,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -54812,7 +56198,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -54835,7 +56221,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
#endif
}
- /* "dependency_injector/providers.pyx":2821
+ /* "dependency_injector/providers.pyx":2900
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return single instance."""
* if self.__storage is None: # <<<<<<<<<<<<<<
@@ -54846,7 +56232,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":2822
+ /* "dependency_injector/providers.pyx":2901
* """Return single instance."""
* if self.__storage is None:
* instance = __factory_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -54855,13 +56241,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___instantiator);
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2822, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_instance = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2824
+ /* "dependency_injector/providers.pyx":2903
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -54871,16 +56257,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__pyx_t_8 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance) != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":2825
+ /* "dependency_injector/providers.pyx":2904
*
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2825, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2825, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -54895,22 +56281,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2825, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2826
+ /* "dependency_injector/providers.pyx":2905
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance) # <<<<<<<<<<<<<<
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage = future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2826, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2826, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -54925,27 +56311,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2826, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_instance, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2827
+ /* "dependency_injector/providers.pyx":2906
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result)) # <<<<<<<<<<<<<<
* self.__storage = future_result
* return future_result
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_9 = NULL;
__pyx_t_5 = 0;
@@ -54962,7 +56348,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -54971,14 +56357,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -54989,7 +56375,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -55007,12 +56393,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2827, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2828
+ /* "dependency_injector/providers.pyx":2907
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage = future_result # <<<<<<<<<<<<<<
@@ -55025,7 +56411,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = __pyx_v_future_result;
- /* "dependency_injector/providers.pyx":2829
+ /* "dependency_injector/providers.pyx":2908
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage = future_result
* return future_result # <<<<<<<<<<<<<<
@@ -55037,7 +56423,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2824
+ /* "dependency_injector/providers.pyx":2903
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -55046,7 +56432,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
*/
}
- /* "dependency_injector/providers.pyx":2831
+ /* "dependency_injector/providers.pyx":2910
* return future_result
*
* self.__storage = instance # <<<<<<<<<<<<<<
@@ -55059,7 +56445,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = __pyx_v_instance;
- /* "dependency_injector/providers.pyx":2821
+ /* "dependency_injector/providers.pyx":2900
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return single instance."""
* if self.__storage is None: # <<<<<<<<<<<<<<
@@ -55068,7 +56454,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
*/
}
- /* "dependency_injector/providers.pyx":2833
+ /* "dependency_injector/providers.pyx":2912
* self.__storage = instance
*
* return self.__storage # <<<<<<<<<<<<<<
@@ -55080,7 +56466,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Singleton__provide(st
__pyx_r = __pyx_v_self->__pyx_base.__pyx___storage;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2819
+ /* "dependency_injector/providers.pyx":2898
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -55142,11 +56528,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Singleton_5_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2819, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2898, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2819, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2898, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -55159,14 +56545,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Singleton_5_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2819, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2898, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Singleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2819, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2819, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2898, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2898, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_9Singleton_4_provide(((struct __pyx_obj_19dependency_injector_9providers_Singleton *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -55187,7 +56573,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Singleton_4_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_9Singleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2819, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_9Singleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -55888,7 +57274,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18DelegatedSingleton_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2867
+/* "dependency_injector/providers.pyx":2946
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -55948,7 +57334,7 @@ static int __pyx_pw_19dependency_injector_9providers_19ThreadSafeSingleton_1__in
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2867, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2946, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -55983,12 +57369,13 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2873
+ /* "dependency_injector/providers.pyx":2952
* :type provides: type
* """
* self.__storage = None # <<<<<<<<<<<<<<
@@ -56001,16 +57388,16 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = Py_None;
- /* "dependency_injector/providers.pyx":2874
+ /* "dependency_injector/providers.pyx":2953
* """
* self.__storage = None
* self.__storage_lock = self.__class__.storage_lock # <<<<<<<<<<<<<<
* super(ThreadSafeSingleton, self).__init__(provides, *args, **kwargs)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2874, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_storage_lock); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2874, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_storage_lock); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -56019,14 +57406,14 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
__pyx_v_self->__pyx___storage_lock = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2875
+ /* "dependency_injector/providers.pyx":2954
* self.__storage = None
* self.__storage_lock = self.__class__.storage_lock
* super(ThreadSafeSingleton, self).__init__(provides, *args, **kwargs) # <<<<<<<<<<<<<<
*
* def reset(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton));
@@ -56034,27 +57421,30 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_provides);
__Pyx_GIVEREF(__pyx_v_provides);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_provides);
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2875, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2954, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2867
+ /* "dependency_injector/providers.pyx":2946
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -56069,6 +57459,7 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("dependency_injector.providers.ThreadSafeSingleton.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -56076,7 +57467,7 @@ static int __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton___ini
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2877
+/* "dependency_injector/providers.pyx":2956
* super(ThreadSafeSingleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -56117,7 +57508,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":2882
+ /* "dependency_injector/providers.pyx":2961
* :rtype: None
* """
* with self.__storage_lock: # <<<<<<<<<<<<<<
@@ -56125,9 +57516,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
* asyncio.ensure_future(self.__storage).cancel()
*/
/*with:*/ {
- __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_exit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2882, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_exit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2882, __pyx_L3_error)
+ __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2961, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -56141,7 +57532,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2882, __pyx_L3_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2961, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -56155,7 +57546,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__Pyx_XGOTREF(__pyx_t_7);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2883
+ /* "dependency_injector/providers.pyx":2962
* """
* with self.__storage_lock:
* if __is_future_or_coroutine(self.__storage): # <<<<<<<<<<<<<<
@@ -56168,16 +57559,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":2884
+ /* "dependency_injector/providers.pyx":2963
* with self.__storage_lock:
* if __is_future_or_coroutine(self.__storage):
* asyncio.ensure_future(self.__storage).cancel() # <<<<<<<<<<<<<<
* self.__storage = None
* return SingletonResetContext(self)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2884, __pyx_L7_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2963, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2884, __pyx_L7_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2963, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -56192,10 +57583,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_4, __pyx_v_self->__pyx_base.__pyx___storage) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_self->__pyx_base.__pyx___storage);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2884, __pyx_L7_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2963, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cancel); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2884, __pyx_L7_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cancel); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2963, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -56210,12 +57601,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2884, __pyx_L7_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2963, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2883
+ /* "dependency_injector/providers.pyx":2962
* """
* with self.__storage_lock:
* if __is_future_or_coroutine(self.__storage): # <<<<<<<<<<<<<<
@@ -56224,7 +57615,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
*/
}
- /* "dependency_injector/providers.pyx":2885
+ /* "dependency_injector/providers.pyx":2964
* if __is_future_or_coroutine(self.__storage):
* asyncio.ensure_future(self.__storage).cancel()
* self.__storage = None # <<<<<<<<<<<<<<
@@ -56237,7 +57628,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = Py_None;
- /* "dependency_injector/providers.pyx":2882
+ /* "dependency_injector/providers.pyx":2961
* :rtype: None
* """
* with self.__storage_lock: # <<<<<<<<<<<<<<
@@ -56256,20 +57647,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.ThreadSafeSingleton.reset", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_9, &__pyx_t_3) < 0) __PYX_ERR(1, 2882, __pyx_L9_except_error)
+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_9, &__pyx_t_3) < 0) __PYX_ERR(1, 2961, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2882, __pyx_L9_except_error)
+ __pyx_t_4 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2961, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2882, __pyx_L9_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2961, __pyx_L9_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_10);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (__pyx_t_8 < 0) __PYX_ERR(1, 2882, __pyx_L9_except_error)
+ if (__pyx_t_8 < 0) __PYX_ERR(1, 2961, __pyx_L9_except_error)
__pyx_t_11 = ((!(__pyx_t_8 != 0)) != 0);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_2);
@@ -56277,7 +57668,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__Pyx_XGIVEREF(__pyx_t_3);
__Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_9, __pyx_t_3);
__pyx_t_2 = 0; __pyx_t_9 = 0; __pyx_t_3 = 0;
- __PYX_ERR(1, 2882, __pyx_L9_except_error)
+ __PYX_ERR(1, 2961, __pyx_L9_except_error)
}
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -56303,7 +57694,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
if (__pyx_t_1) {
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2882, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -56318,7 +57709,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
__pyx_L17:;
}
- /* "dependency_injector/providers.pyx":2886
+ /* "dependency_injector/providers.pyx":2965
* asyncio.ensure_future(self.__storage).cancel()
* self.__storage = None
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -56326,13 +57717,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2886, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2877
+ /* "dependency_injector/providers.pyx":2956
* super(ThreadSafeSingleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -56354,7 +57745,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2888
+/* "dependency_injector/providers.pyx":2967
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -56397,7 +57788,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_19ThreadSafeSingleton_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -56417,7 +57808,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -56425,13 +57816,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -56442,7 +57833,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -56465,7 +57856,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
#endif
}
- /* "dependency_injector/providers.pyx":2890
+ /* "dependency_injector/providers.pyx":2969
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return single instance."""
* instance = self.__storage # <<<<<<<<<<<<<<
@@ -56477,7 +57868,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_v_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2892
+ /* "dependency_injector/providers.pyx":2971
* instance = self.__storage
*
* if instance is None: # <<<<<<<<<<<<<<
@@ -56488,7 +57879,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":2893
+ /* "dependency_injector/providers.pyx":2972
*
* if instance is None:
* with self.__storage_lock: # <<<<<<<<<<<<<<
@@ -56496,9 +57887,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
* result = __factory_call(self.__instantiator, args, kwargs)
*/
/*with:*/ {
- __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2893, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2972, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2893, __pyx_L4_error)
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_v_self->__pyx___storage_lock, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2972, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -56512,7 +57903,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2893, __pyx_L4_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2972, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -56526,7 +57917,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_XGOTREF(__pyx_t_12);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2894
+ /* "dependency_injector/providers.pyx":2973
* if instance is None:
* with self.__storage_lock:
* if self.__storage is None: # <<<<<<<<<<<<<<
@@ -56537,7 +57928,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_t_7 = (__pyx_t_8 != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":2895
+ /* "dependency_injector/providers.pyx":2974
* with self.__storage_lock:
* if self.__storage is None:
* result = __factory_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -56546,13 +57937,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___instantiator);
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2895, __pyx_L8_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2974, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2896
+ /* "dependency_injector/providers.pyx":2975
* if self.__storage is None:
* result = __factory_call(self.__instantiator, args, kwargs)
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -56562,16 +57953,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":2897
+ /* "dependency_injector/providers.pyx":2976
* result = __factory_call(self.__instantiator, args, kwargs)
* if __is_future_or_coroutine(result):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_init_instance, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2897, __pyx_L8_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2976, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2897, __pyx_L8_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2976, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -56586,22 +57977,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2897, __pyx_L8_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2976, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2898
+ /* "dependency_injector/providers.pyx":2977
* if __is_future_or_coroutine(result):
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result) # <<<<<<<<<<<<<<
* result.add_done_callback(functools.partial(self._async_init_instance, future_result))
* result = future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2898, __pyx_L8_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2977, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2898, __pyx_L8_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2977, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -56616,27 +58007,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2898, __pyx_L8_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2977, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_result, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2899
+ /* "dependency_injector/providers.pyx":2978
* future_result = asyncio.Future()
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_init_instance, future_result)) # <<<<<<<<<<<<<<
* result = future_result
* self.__storage = result
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_13 = NULL;
__pyx_t_5 = 0;
@@ -56653,7 +58044,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -56662,14 +58053,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_14 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_14 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_14);
if (__pyx_t_13) {
__Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
@@ -56680,7 +58071,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
}
@@ -56698,12 +58089,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2899, __pyx_L8_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2978, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2900
+ /* "dependency_injector/providers.pyx":2979
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(self._async_init_instance, future_result))
* result = future_result # <<<<<<<<<<<<<<
@@ -56713,7 +58104,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_INCREF(__pyx_v_future_result);
__Pyx_DECREF_SET(__pyx_v_result, __pyx_v_future_result);
- /* "dependency_injector/providers.pyx":2896
+ /* "dependency_injector/providers.pyx":2975
* if self.__storage is None:
* result = __factory_call(self.__instantiator, args, kwargs)
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -56722,7 +58113,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
*/
}
- /* "dependency_injector/providers.pyx":2901
+ /* "dependency_injector/providers.pyx":2980
* result.add_done_callback(functools.partial(self._async_init_instance, future_result))
* result = future_result
* self.__storage = result # <<<<<<<<<<<<<<
@@ -56735,7 +58126,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
__pyx_v_self->__pyx_base.__pyx___storage = __pyx_v_result;
- /* "dependency_injector/providers.pyx":2894
+ /* "dependency_injector/providers.pyx":2973
* if instance is None:
* with self.__storage_lock:
* if self.__storage is None: # <<<<<<<<<<<<<<
@@ -56744,7 +58135,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
*/
}
- /* "dependency_injector/providers.pyx":2902
+ /* "dependency_injector/providers.pyx":2981
* result = future_result
* self.__storage = result
* instance = self.__storage # <<<<<<<<<<<<<<
@@ -56756,7 +58147,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_DECREF_SET(__pyx_v_instance, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":2893
+ /* "dependency_injector/providers.pyx":2972
*
* if instance is None:
* with self.__storage_lock: # <<<<<<<<<<<<<<
@@ -56778,20 +58169,20 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
/*except:*/ {
__Pyx_AddTraceback("dependency_injector.providers.ThreadSafeSingleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 2893, __pyx_L10_except_error)
+ if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(1, 2972, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2893, __pyx_L10_except_error)
+ __pyx_t_4 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2972, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_4, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 2893, __pyx_L10_except_error)
+ if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 2972, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_15);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
- if (__pyx_t_7 < 0) __PYX_ERR(1, 2893, __pyx_L10_except_error)
+ if (__pyx_t_7 < 0) __PYX_ERR(1, 2972, __pyx_L10_except_error)
__pyx_t_8 = ((!(__pyx_t_7 != 0)) != 0);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_2);
@@ -56799,7 +58190,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__Pyx_XGIVEREF(__pyx_t_3);
__Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3);
__pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0;
- __PYX_ERR(1, 2893, __pyx_L10_except_error)
+ __PYX_ERR(1, 2972, __pyx_L10_except_error)
}
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -56825,7 +58216,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
if (__pyx_t_9) {
__pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2893, __pyx_L1_error)
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2972, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
@@ -56840,7 +58231,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_L19:;
}
- /* "dependency_injector/providers.pyx":2892
+ /* "dependency_injector/providers.pyx":2971
* instance = self.__storage
*
* if instance is None: # <<<<<<<<<<<<<<
@@ -56849,7 +58240,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
*/
}
- /* "dependency_injector/providers.pyx":2903
+ /* "dependency_injector/providers.pyx":2982
* self.__storage = result
* instance = self.__storage
* return instance # <<<<<<<<<<<<<<
@@ -56861,7 +58252,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton_
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2888
+ /* "dependency_injector/providers.pyx":2967
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -56924,11 +58315,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ThreadSafeSingleton
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2888, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2967, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2888, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2967, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -56941,14 +58332,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_19ThreadSafeSingleton
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2888, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2967, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ThreadSafeSingleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2888, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2888, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2967, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2967, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton_4_provide(((struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -56969,7 +58360,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19ThreadSafeSingleton
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2888, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -57690,7 +59081,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_28DelegatedThreadSafe
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2947
+/* "dependency_injector/providers.pyx":3026
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -57750,7 +59141,7 @@ static int __pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleton_1__i
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 2947, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 3026, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -57785,21 +59176,22 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":2953
+ /* "dependency_injector/providers.pyx":3032
* :type provides: type
* """
* self.__storage = threading.local() # <<<<<<<<<<<<<<
* super(ThreadLocalSingleton, self).__init__(provides, *args, **kwargs)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2953, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_local); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2953, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_local); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -57814,7 +59206,7 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2953, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_1);
@@ -57823,14 +59215,14 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
__pyx_v_self->__pyx_base.__pyx___storage = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2954
+ /* "dependency_injector/providers.pyx":3033
* """
* self.__storage = threading.local()
* super(ThreadLocalSingleton, self).__init__(provides, *args, **kwargs) # <<<<<<<<<<<<<<
*
* def reset(self):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton));
@@ -57838,27 +59230,30 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_provides);
__Pyx_GIVEREF(__pyx_v_provides);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_provides);
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2954, __pyx_L1_error)
+ __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3033, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2947
+ /* "dependency_injector/providers.pyx":3026
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -57873,6 +59268,7 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -57880,7 +59276,7 @@ static int __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton___in
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2956
+/* "dependency_injector/providers.pyx":3035
* super(ThreadLocalSingleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -57920,7 +59316,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":2961
+ /* "dependency_injector/providers.pyx":3040
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -57936,19 +59332,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2962
+ /* "dependency_injector/providers.pyx":3041
* """
* try:
* instance = self.__storage.instance # <<<<<<<<<<<<<<
* except AttributeError:
* return SingletonResetContext(self)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2962, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3041, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_v_instance = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2961
+ /* "dependency_injector/providers.pyx":3040
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -57963,7 +59359,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_L3_error:;
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2963
+ /* "dependency_injector/providers.pyx":3042
* try:
* instance = self.__storage.instance
* except AttributeError: # <<<<<<<<<<<<<<
@@ -57973,12 +59369,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton.reset", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 2963, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 3042, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_7);
- /* "dependency_injector/providers.pyx":2964
+ /* "dependency_injector/providers.pyx":3043
* instance = self.__storage.instance
* except AttributeError:
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -57986,7 +59382,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
* if __is_future_or_coroutine(instance):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2964, __pyx_L5_except_error)
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3043, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_r = __pyx_t_8;
__pyx_t_8 = 0;
@@ -57998,7 +59394,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":2961
+ /* "dependency_injector/providers.pyx":3040
* :rtype: None
* """
* try: # <<<<<<<<<<<<<<
@@ -58019,7 +59415,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":2966
+ /* "dependency_injector/providers.pyx":3045
* return SingletonResetContext(self)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -58029,16 +59425,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_t_9 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance) != 0);
if (__pyx_t_9) {
- /* "dependency_injector/providers.pyx":2967
+ /* "dependency_injector/providers.pyx":3046
*
* if __is_future_or_coroutine(instance):
* asyncio.ensure_future(instance).cancel() # <<<<<<<<<<<<<<
*
* del self.__storage.instance
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2967, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2967, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -58053,10 +59449,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
}
__pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_4, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2967, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_cancel); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2967, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_cancel); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -58071,12 +59467,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
}
__pyx_t_7 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2967, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2966
+ /* "dependency_injector/providers.pyx":3045
* return SingletonResetContext(self)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -58085,16 +59481,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
*/
}
- /* "dependency_injector/providers.pyx":2969
+ /* "dependency_injector/providers.pyx":3048
* asyncio.ensure_future(instance).cancel()
*
* del self.__storage.instance # <<<<<<<<<<<<<<
*
* return SingletonResetContext(self)
*/
- if (__Pyx_PyObject_DelAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance) < 0) __PYX_ERR(1, 2969, __pyx_L1_error)
+ if (__Pyx_PyObject_DelAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance) < 0) __PYX_ERR(1, 3048, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":2971
+ /* "dependency_injector/providers.pyx":3050
* del self.__storage.instance
*
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -58102,13 +59498,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2971, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_r = __pyx_t_7;
__pyx_t_7 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":2956
+ /* "dependency_injector/providers.pyx":3035
* super(ThreadLocalSingleton, self).__init__(provides, *args, **kwargs)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -58131,7 +59527,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2973
+/* "dependency_injector/providers.pyx":3052
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -58176,7 +59572,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleton_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -58196,7 +59592,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -58204,13 +59600,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -58221,7 +59617,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -58244,7 +59640,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
#endif
}
- /* "dependency_injector/providers.pyx":2977
+ /* "dependency_injector/providers.pyx":3056
* cdef object instance
*
* try: # <<<<<<<<<<<<<<
@@ -58261,19 +59657,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2978
+ /* "dependency_injector/providers.pyx":3057
*
* try:
* instance = self.__storage.instance # <<<<<<<<<<<<<<
* except AttributeError:
* instance = __factory_call(self.__instantiator, args, kwargs)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2978, __pyx_L6_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3057, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":2977
+ /* "dependency_injector/providers.pyx":3056
* cdef object instance
*
* try: # <<<<<<<<<<<<<<
@@ -58292,7 +59688,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2979
+ /* "dependency_injector/providers.pyx":3058
* try:
* instance = self.__storage.instance
* except AttributeError: # <<<<<<<<<<<<<<
@@ -58302,12 +59698,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
if (__pyx_t_5) {
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(1, 2979, __pyx_L8_except_error)
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(1, 3058, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":2980
+ /* "dependency_injector/providers.pyx":3059
* instance = self.__storage.instance
* except AttributeError:
* instance = __factory_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -58316,13 +59712,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
*/
__pyx_t_6 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___instantiator);
__Pyx_INCREF(__pyx_t_6);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_6), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2980, __pyx_L8_except_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_6), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3059, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_instance, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2982
+ /* "dependency_injector/providers.pyx":3061
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -58332,16 +59728,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__pyx_t_10 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance) != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":2983
+ /* "dependency_injector/providers.pyx":3062
*
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2983, __pyx_L8_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3062, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Future); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2983, __pyx_L8_except_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Future); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 3062, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -58356,22 +59752,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2983, __pyx_L8_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3062, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_v_future_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2984
+ /* "dependency_injector/providers.pyx":3063
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance) # <<<<<<<<<<<<<<
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.instance = future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2984, __pyx_L8_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 3063, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_11);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2984, __pyx_L8_except_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3063, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = NULL;
@@ -58386,27 +59782,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
}
__pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_11, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2984, __pyx_L8_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3063, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_instance, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2985
+ /* "dependency_injector/providers.pyx":3064
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result)) # <<<<<<<<<<<<<<
* self.__storage.instance = future_result
* return future_result
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_functools); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_functools); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_partial); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_partial); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_14 = NULL;
__pyx_t_5 = 0;
@@ -58423,7 +59819,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_13)) {
PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_v_future_result};
- __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
@@ -58432,14 +59828,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_v_future_result};
- __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
} else
#endif
{
- __pyx_t_15 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_15 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_15);
if (__pyx_t_14) {
__Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL;
@@ -58450,7 +59846,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_12 = 0;
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
@@ -58468,21 +59864,21 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_13, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_11);
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2985, __pyx_L8_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3064, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2986
+ /* "dependency_injector/providers.pyx":3065
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.instance = future_result # <<<<<<<<<<<<<<
* return future_result
*
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_future_result) < 0) __PYX_ERR(1, 2986, __pyx_L8_except_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_future_result) < 0) __PYX_ERR(1, 3065, __pyx_L8_except_error)
- /* "dependency_injector/providers.pyx":2987
+ /* "dependency_injector/providers.pyx":3066
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.instance = future_result
* return future_result # <<<<<<<<<<<<<<
@@ -58497,7 +59893,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L9_except_return;
- /* "dependency_injector/providers.pyx":2982
+ /* "dependency_injector/providers.pyx":3061
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -58506,14 +59902,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
*/
}
- /* "dependency_injector/providers.pyx":2989
+ /* "dependency_injector/providers.pyx":3068
* return future_result
*
* self.__storage.instance = instance # <<<<<<<<<<<<<<
* finally:
* return instance
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_instance) < 0) __PYX_ERR(1, 2989, __pyx_L8_except_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_instance) < 0) __PYX_ERR(1, 3068, __pyx_L8_except_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -58522,7 +59918,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
goto __pyx_L8_except_error;
__pyx_L8_except_error:;
- /* "dependency_injector/providers.pyx":2977
+ /* "dependency_injector/providers.pyx":3056
* cdef object instance
*
* try: # <<<<<<<<<<<<<<
@@ -58549,7 +59945,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
}
}
- /* "dependency_injector/providers.pyx":2991
+ /* "dependency_injector/providers.pyx":3070
* self.__storage.instance = instance
* finally:
* return instance # <<<<<<<<<<<<<<
@@ -58588,7 +59984,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
__Pyx_XGOTREF(__pyx_t_18);
{
__Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_instance)) { __Pyx_RaiseUnboundLocalError("instance"); __PYX_ERR(1, 2991, __pyx_L16_error) }
+ if (unlikely(!__pyx_v_instance)) { __Pyx_RaiseUnboundLocalError("instance"); __PYX_ERR(1, 3070, __pyx_L16_error) }
__Pyx_INCREF(__pyx_v_instance);
__pyx_r = __pyx_v_instance;
goto __pyx_L15_return;
@@ -58626,7 +60022,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton
}
}
- /* "dependency_injector/providers.pyx":2973
+ /* "dependency_injector/providers.pyx":3052
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -58691,11 +60087,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleto
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 2973, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3052, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 2973, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3052, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -58708,14 +60104,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleto
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2973, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3052, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 2973, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 2973, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3052, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3052, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleton_4_provide(((struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -58736,7 +60132,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2973, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3052, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -58753,7 +60149,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":2993
+/* "dependency_injector/providers.pyx":3072
* return instance
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -58795,11 +60191,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleto
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 2993, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 3072, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 2993, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 3072, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -58812,7 +60208,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_20ThreadLocalSingleto
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 2993, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3072, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -58845,7 +60241,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_init_instance", 0);
- /* "dependency_injector/providers.pyx":2994
+ /* "dependency_injector/providers.pyx":3073
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -58861,14 +60257,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":2995
+ /* "dependency_injector/providers.pyx":3074
* def _async_init_instance(self, future_result, result):
* try:
* instance = result.result() # <<<<<<<<<<<<<<
* except Exception as exception:
* del self.__storage.instance
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2995, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3074, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -58882,13 +60278,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2995, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3074, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_instance = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":2994
+ /* "dependency_injector/providers.pyx":3073
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -58897,7 +60293,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
*/
}
- /* "dependency_injector/providers.pyx":3000
+ /* "dependency_injector/providers.pyx":3079
* future_result.set_exception(exception)
* else:
* self.__storage.instance = instance # <<<<<<<<<<<<<<
@@ -58905,16 +60301,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
*
*/
/*else:*/ {
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_instance) < 0) __PYX_ERR(1, 3000, __pyx_L5_except_error)
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance, __pyx_v_instance) < 0) __PYX_ERR(1, 3079, __pyx_L5_except_error)
- /* "dependency_injector/providers.pyx":3001
+ /* "dependency_injector/providers.pyx":3080
* else:
* self.__storage.instance = instance
* future_result.set_result(instance) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3001, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3080, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -58928,7 +60324,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3001, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3080, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -58942,7 +60338,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":2996
+ /* "dependency_injector/providers.pyx":3075
* try:
* instance = result.result()
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -58952,30 +60348,30 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.ThreadLocalSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 2996, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 3075, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pyx":2997
+ /* "dependency_injector/providers.pyx":3076
* instance = result.result()
* except Exception as exception:
* del self.__storage.instance # <<<<<<<<<<<<<<
* future_result.set_exception(exception)
* else:
*/
- if (__Pyx_PyObject_DelAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance) < 0) __PYX_ERR(1, 2997, __pyx_L5_except_error)
+ if (__Pyx_PyObject_DelAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_instance) < 0) __PYX_ERR(1, 3076, __pyx_L5_except_error)
- /* "dependency_injector/providers.pyx":2998
+ /* "dependency_injector/providers.pyx":3077
* except Exception as exception:
* del self.__storage.instance
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* self.__storage.instance = instance
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2998, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3077, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -58989,7 +60385,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 2998, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3077, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -59001,7 +60397,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":2994
+ /* "dependency_injector/providers.pyx":3073
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -59021,7 +60417,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":2993
+ /* "dependency_injector/providers.pyx":3072
* return instance
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -59391,7 +60787,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20ThreadLocalSingleto
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3024
+/* "dependency_injector/providers.pyx":3103
* _none = object()
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -59451,7 +60847,7 @@ static int __pyx_pw_19dependency_injector_9providers_21ContextLocalSingleton_1__
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 3024, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 3103, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -59488,39 +60884,40 @@ static int __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton___i
int __pyx_t_3;
PyObject *__pyx_t_4 = NULL;
PyObject *__pyx_t_5 = NULL;
+ PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3030
+ /* "dependency_injector/providers.pyx":3109
* :type provides: type
* """
* if not contextvars: # <<<<<<<<<<<<<<
* raise RuntimeError(
* 'Contextvars library not found. This provider '
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_contextvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3030, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_contextvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3030, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3109, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = ((!__pyx_t_2) != 0);
if (unlikely(__pyx_t_3)) {
- /* "dependency_injector/providers.pyx":3031
+ /* "dependency_injector/providers.pyx":3110
* """
* if not contextvars:
* raise RuntimeError( # <<<<<<<<<<<<<<
* 'Contextvars library not found. This provider '
* 'requires Python 3.7 or a backport of contextvars. '
*/
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3031, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3110, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 3031, __pyx_L1_error)
+ __PYX_ERR(1, 3110, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3030
+ /* "dependency_injector/providers.pyx":3109
* :type provides: type
* """
* if not contextvars: # <<<<<<<<<<<<<<
@@ -59529,14 +60926,14 @@ static int __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton___i
*/
}
- /* "dependency_injector/providers.pyx":3037
+ /* "dependency_injector/providers.pyx":3116
* )
*
* super(ContextLocalSingleton, self).__init__(provides, *args, **kwargs) # <<<<<<<<<<<<<<
* self.__storage = contextvars.ContextVar('__storage', default=self._none)
*
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton));
@@ -59544,55 +60941,58 @@ static int __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton___i
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_provides);
__Pyx_GIVEREF(__pyx_v_provides);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_provides);
- __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_v_args); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_v_args); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3037, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3116, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3038
+ /* "dependency_injector/providers.pyx":3117
*
* super(ContextLocalSingleton, self).__init__(provides, *args, **kwargs)
* self.__storage = contextvars.ContextVar('__storage', default=self._none) # <<<<<<<<<<<<<<
*
* def reset(self):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_contextvars); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3038, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_contextvars); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3117, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ContextVar); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ContextVar); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3038, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3117, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_6);
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3117, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_default, __pyx_t_5) < 0) __PYX_ERR(1, 3117, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__34, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3038, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3038, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_default, __pyx_t_1) < 0) __PYX_ERR(1, 3038, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__28, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3038, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+ __Pyx_GIVEREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_v_self->__pyx_base.__pyx___storage);
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___storage);
- __pyx_v_self->__pyx_base.__pyx___storage = __pyx_t_1;
- __pyx_t_1 = 0;
+ __pyx_v_self->__pyx_base.__pyx___storage = __pyx_t_5;
+ __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3024
+ /* "dependency_injector/providers.pyx":3103
* _none = object()
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -59607,6 +61007,7 @@ static int __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton___i
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
+ __Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("dependency_injector.providers.ContextLocalSingleton.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -59614,7 +61015,7 @@ static int __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton___i
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3040
+/* "dependency_injector/providers.pyx":3119
* self.__storage = contextvars.ContextVar('__storage', default=self._none)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -59651,14 +61052,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":3045
+ /* "dependency_injector/providers.pyx":3124
* :rtype: None
* """
* instance = self.__storage.get() # <<<<<<<<<<<<<<
* if instance is self._none:
* return SingletonResetContext(self)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3045, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -59672,27 +61073,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3045, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3046
+ /* "dependency_injector/providers.pyx":3125
* """
* instance = self.__storage.get()
* if instance is self._none: # <<<<<<<<<<<<<<
* return SingletonResetContext(self)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3046, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3125, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = (__pyx_v_instance == __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":3047
+ /* "dependency_injector/providers.pyx":3126
* instance = self.__storage.get()
* if instance is self._none:
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -59700,13 +61101,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
* if __is_future_or_coroutine(instance):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3047, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3046
+ /* "dependency_injector/providers.pyx":3125
* """
* instance = self.__storage.get()
* if instance is self._none: # <<<<<<<<<<<<<<
@@ -59715,7 +61116,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
*/
}
- /* "dependency_injector/providers.pyx":3049
+ /* "dependency_injector/providers.pyx":3128
* return SingletonResetContext(self)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -59725,16 +61126,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__pyx_t_5 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pyx":3050
+ /* "dependency_injector/providers.pyx":3129
*
* if __is_future_or_coroutine(instance):
* asyncio.ensure_future(instance).cancel() # <<<<<<<<<<<<<<
*
* self.__storage.set(self._none)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3050, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3050, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -59749,10 +61150,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3050, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cancel); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3050, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cancel); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -59767,12 +61168,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3050, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3049
+ /* "dependency_injector/providers.pyx":3128
* return SingletonResetContext(self)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -59781,16 +61182,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
*/
}
- /* "dependency_injector/providers.pyx":3052
+ /* "dependency_injector/providers.pyx":3131
* asyncio.ensure_future(instance).cancel()
*
* self.__storage.set(self._none) # <<<<<<<<<<<<<<
*
* return SingletonResetContext(self)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3052, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3052, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -59805,12 +61206,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3052, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3054
+ /* "dependency_injector/providers.pyx":3133
* self.__storage.set(self._none)
*
* return SingletonResetContext(self) # <<<<<<<<<<<<<<
@@ -59818,13 +61219,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
* cpdef object _provide(self, tuple args, dict kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3054, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonResetContext), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3040
+ /* "dependency_injector/providers.pyx":3119
* self.__storage = contextvars.ContextVar('__storage', default=self._none)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -59847,7 +61248,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3056
+/* "dependency_injector/providers.pyx":3135
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -59884,7 +61285,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_21ContextLocalSingleton_5_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -59904,7 +61305,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -59912,13 +61313,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -59929,7 +61330,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -59952,14 +61353,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
#endif
}
- /* "dependency_injector/providers.pyx":3060
+ /* "dependency_injector/providers.pyx":3139
* cdef object instance
*
* instance = self.__storage.get() # <<<<<<<<<<<<<<
*
* if instance is self._none:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3060, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3139, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -59973,27 +61374,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3060, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3139, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3062
+ /* "dependency_injector/providers.pyx":3141
* instance = self.__storage.get()
*
* if instance is self._none: # <<<<<<<<<<<<<<
* instance = __factory_call(self.__instantiator, args, kwargs)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3062, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = (__pyx_v_instance == __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = (__pyx_t_7 != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":3063
+ /* "dependency_injector/providers.pyx":3142
*
* if instance is self._none:
* instance = __factory_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -60002,13 +61403,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx_base.__pyx___instantiator);
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3063, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___factory_call(((struct __pyx_obj_19dependency_injector_9providers_Factory *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3142, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_instance, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3065
+ /* "dependency_injector/providers.pyx":3144
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -60018,16 +61419,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__pyx_t_8 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance) != 0);
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":3066
+ /* "dependency_injector/providers.pyx":3145
*
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3066, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3066, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -60042,22 +61443,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3066, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3067
+ /* "dependency_injector/providers.pyx":3146
* if __is_future_or_coroutine(instance):
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance) # <<<<<<<<<<<<<<
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.set(future_result)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3067, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3067, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -60072,27 +61473,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3067, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_instance, __pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3068
+ /* "dependency_injector/providers.pyx":3147
* future_result = asyncio.Future()
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result)) # <<<<<<<<<<<<<<
* self.__storage.set(future_result)
* return future_result
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_9 = NULL;
__pyx_t_5 = 0;
@@ -60109,7 +61510,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -60118,14 +61519,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -60136,7 +61537,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -60154,19 +61555,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3068, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3069
+ /* "dependency_injector/providers.pyx":3148
* instance = asyncio.ensure_future(instance)
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.set(future_result) # <<<<<<<<<<<<<<
* return future_result
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3069, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -60180,12 +61581,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_future_result) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_future_result);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3069, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3070
+ /* "dependency_injector/providers.pyx":3149
* instance.add_done_callback(functools.partial(self._async_init_instance, future_result))
* self.__storage.set(future_result)
* return future_result # <<<<<<<<<<<<<<
@@ -60197,7 +61598,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3065
+ /* "dependency_injector/providers.pyx":3144
* instance = __factory_call(self.__instantiator, args, kwargs)
*
* if __is_future_or_coroutine(instance): # <<<<<<<<<<<<<<
@@ -60206,14 +61607,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
*/
}
- /* "dependency_injector/providers.pyx":3072
+ /* "dependency_injector/providers.pyx":3151
* return future_result
*
* self.__storage.set(instance) # <<<<<<<<<<<<<<
*
* return instance
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3072, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -60227,12 +61628,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3072, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3062
+ /* "dependency_injector/providers.pyx":3141
* instance = self.__storage.get()
*
* if instance is self._none: # <<<<<<<<<<<<<<
@@ -60241,7 +61642,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
*/
}
- /* "dependency_injector/providers.pyx":3074
+ /* "dependency_injector/providers.pyx":3153
* self.__storage.set(instance)
*
* return instance # <<<<<<<<<<<<<<
@@ -60253,7 +61654,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_21ContextLocalSingleto
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3056
+ /* "dependency_injector/providers.pyx":3135
* return SingletonResetContext(self)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -60315,11 +61716,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21ContextLocalSinglet
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3056, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3135, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3056, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3135, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -60332,14 +61733,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21ContextLocalSinglet
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3056, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3135, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ContextLocalSingleton._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3056, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3056, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3135, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3135, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_21ContextLocalSingleton_4_provide(((struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -60360,7 +61761,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_21ContextLocalSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3056, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_21ContextLocalSingleton__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -60377,7 +61778,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3076
+/* "dependency_injector/providers.pyx":3155
* return instance
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -60419,11 +61820,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21ContextLocalSinglet
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 3076, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, 1); __PYX_ERR(1, 3155, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 3076, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_instance") < 0)) __PYX_ERR(1, 3155, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -60436,7 +61837,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_21ContextLocalSinglet
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3076, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_instance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3155, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ContextLocalSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -60470,7 +61871,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_init_instance", 0);
- /* "dependency_injector/providers.pyx":3077
+ /* "dependency_injector/providers.pyx":3156
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -60486,14 +61887,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":3078
+ /* "dependency_injector/providers.pyx":3157
* def _async_init_instance(self, future_result, result):
* try:
* instance = result.result() # <<<<<<<<<<<<<<
* except Exception as exception:
* self.__storage.set(self._none)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3078, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3157, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -60507,13 +61908,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3078, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3157, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_instance = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3077
+ /* "dependency_injector/providers.pyx":3156
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -60522,7 +61923,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
*/
}
- /* "dependency_injector/providers.pyx":3083
+ /* "dependency_injector/providers.pyx":3162
* future_result.set_exception(exception)
* else:
* self.__storage.set(instance) # <<<<<<<<<<<<<<
@@ -60530,7 +61931,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3083, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3162, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -60544,19 +61945,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3083, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3162, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3084
+ /* "dependency_injector/providers.pyx":3163
* else:
* self.__storage.set(instance)
* future_result.set_result(instance) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3084, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3163, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -60570,7 +61971,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3084, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3163, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -60584,7 +61985,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3079
+ /* "dependency_injector/providers.pyx":3158
* try:
* instance = result.result()
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -60594,23 +61995,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.ContextLocalSingleton._async_init_instance", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 3079, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 3158, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pyx":3080
+ /* "dependency_injector/providers.pyx":3159
* instance = result.result()
* except Exception as exception:
* self.__storage.set(self._none) # <<<<<<<<<<<<<<
* future_result.set_exception(exception)
* else:
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3080, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___storage, __pyx_n_s_set); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3159, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3080, __pyx_L5_except_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_none); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3159, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -60625,19 +62026,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3080, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3159, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "dependency_injector/providers.pyx":3081
+ /* "dependency_injector/providers.pyx":3160
* except Exception as exception:
* self.__storage.set(self._none)
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* self.__storage.set(instance)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3081, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3160, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -60651,7 +62052,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3081, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3160, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -60663,7 +62064,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":3077
+ /* "dependency_injector/providers.pyx":3156
*
* def _async_init_instance(self, future_result, result):
* try: # <<<<<<<<<<<<<<
@@ -60683,7 +62084,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21ContextLocalSinglet
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":3076
+ /* "dependency_injector/providers.pyx":3155
* return instance
*
* def _async_init_instance(self, future_result, result): # <<<<<<<<<<<<<<
@@ -61396,7 +62797,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_29DelegatedThreadLoca
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3119
+/* "dependency_injector/providers.pyx":3198
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -61417,12 +62818,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17AbstractSingleton_1
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_17AbstractSingleton___call__(((struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -61449,7 +62846,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "dependency_injector/providers.pyx":3124
+ /* "dependency_injector/providers.pyx":3203
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -61460,16 +62857,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":3125
+ /* "dependency_injector/providers.pyx":3204
* """
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self)) # <<<<<<<<<<<<<<
* return super().__call__(*args, **kwargs)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3125, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3125, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -61483,7 +62880,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3125, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -61499,14 +62896,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3125, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3125, __pyx_L1_error)
+ __PYX_ERR(1, 3204, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3124
+ /* "dependency_injector/providers.pyx":3203
* Callable interface implementation.
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -61515,7 +62912,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
*/
}
- /* "dependency_injector/providers.pyx":3126
+ /* "dependency_injector/providers.pyx":3205
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self))
* return super().__call__(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -61523,7 +62920,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
* def override(self, provider):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3126, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractSingleton));
@@ -61531,20 +62928,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3126, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3126, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3126, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_v_args, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3205, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_r = __pyx_t_4;
- __pyx_t_4 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_r = __pyx_t_5;
+ __pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3119
+ /* "dependency_injector/providers.pyx":3198
* """
*
* def __call__(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -61567,7 +62967,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3128
+/* "dependency_injector/providers.pyx":3207
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -61606,7 +63006,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":3139
+ /* "dependency_injector/providers.pyx":3218
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, BaseSingleton): # <<<<<<<<<<<<<<
@@ -61617,24 +63017,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":3140
+ /* "dependency_injector/providers.pyx":3219
* """
* if not isinstance(provider, BaseSingleton):
* raise Error('{0} must be overridden only by ' # <<<<<<<<<<<<<<
* '{1} providers'.format(self, BaseSingleton))
* return super(AbstractSingleton, self).override(provider)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3140, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":3141
+ /* "dependency_injector/providers.pyx":3220
* if not isinstance(provider, BaseSingleton):
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, BaseSingleton)) # <<<<<<<<<<<<<<
* return super(AbstractSingleton, self).override(provider)
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3141, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_only_by_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
@@ -61651,7 +63051,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3141, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3220, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
@@ -61659,13 +63059,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self), ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3141, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3220, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3141, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -61676,7 +63076,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3141, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -61694,14 +63094,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3140, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3140, __pyx_L1_error)
+ __PYX_ERR(1, 3219, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3139
+ /* "dependency_injector/providers.pyx":3218
* :rtype: :py:class:`OverridingContext`
* """
* if not isinstance(provider, BaseSingleton): # <<<<<<<<<<<<<<
@@ -61710,7 +63110,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
*/
}
- /* "dependency_injector/providers.pyx":3142
+ /* "dependency_injector/providers.pyx":3221
* raise Error('{0} must be overridden only by '
* '{1} providers'.format(self, BaseSingleton))
* return super(AbstractSingleton, self).override(provider) # <<<<<<<<<<<<<<
@@ -61718,7 +63118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
* def reset(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3142, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractSingleton));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AbstractSingleton));
@@ -61726,10 +63126,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3142, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3142, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -61744,14 +63144,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3142, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3128
+ /* "dependency_injector/providers.pyx":3207
* return super().__call__(*args, **kwargs)
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -61775,7 +63175,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_2
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3144
+/* "dependency_injector/providers.pyx":3223
* return super(AbstractSingleton, self).override(provider)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -61812,7 +63212,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset", 0);
- /* "dependency_injector/providers.pyx":3149
+ /* "dependency_injector/providers.pyx":3228
* :rtype: None
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -61823,16 +63223,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
__pyx_t_2 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":3150
+ /* "dependency_injector/providers.pyx":3229
* """
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self)) # <<<<<<<<<<<<<<
* return self.__last_overriding.reset()
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3150, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3150, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_must_be_overridden_before_cal, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -61846,7 +63246,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3150, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -61862,14 +63262,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3150, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3150, __pyx_L1_error)
+ __PYX_ERR(1, 3229, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3149
+ /* "dependency_injector/providers.pyx":3228
* :rtype: None
* """
* if self.__last_overriding is None: # <<<<<<<<<<<<<<
@@ -61878,7 +63278,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
*/
}
- /* "dependency_injector/providers.pyx":3151
+ /* "dependency_injector/providers.pyx":3230
* if self.__last_overriding is None:
* raise Error('{0} must be overridden before calling'.format(self))
* return self.__last_overriding.reset() # <<<<<<<<<<<<<<
@@ -61886,7 +63286,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding), __pyx_n_s_reset); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3151, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx___last_overriding), __pyx_n_s_reset); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -61900,14 +63300,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_4
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3151, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3144
+ /* "dependency_injector/providers.pyx":3223
* return super(AbstractSingleton, self).override(provider)
*
* def reset(self): # <<<<<<<<<<<<<<
@@ -62272,7 +63672,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17AbstractSingleton_8
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3164
+/* "dependency_injector/providers.pyx":3243
* """
*
* def __init__(self, singleton): # <<<<<<<<<<<<<<
@@ -62313,7 +63713,7 @@ static int __pyx_pw_19dependency_injector_9providers_17SingletonDelegate_1__init
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3164, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3243, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -62324,7 +63724,7 @@ static int __pyx_pw_19dependency_injector_9providers_17SingletonDelegate_1__init
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3164, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3243, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.SingletonDelegate.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -62355,7 +63755,7 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3170
+ /* "dependency_injector/providers.pyx":3249
* :type singleton: py:class:`BaseSingleton`
* """
* if isinstance(singleton, BaseSingleton) is False: # <<<<<<<<<<<<<<
@@ -62366,26 +63766,26 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
__pyx_t_2 = ((__pyx_t_1 == 0) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":3171
+ /* "dependency_injector/providers.pyx":3250
* """
* if isinstance(singleton, BaseSingleton) is False:
* raise Error('{0} can wrap only {1} providers'.format( # <<<<<<<<<<<<<<
* self.__class__, BaseSingleton))
* super(SingletonDelegate, self).__init__(singleton)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_can_wrap_only_1_providers, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":3172
+ /* "dependency_injector/providers.pyx":3251
* if isinstance(singleton, BaseSingleton) is False:
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, BaseSingleton)) # <<<<<<<<<<<<<<
* super(SingletonDelegate, self).__init__(singleton)
*
*/
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3172, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3251, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
@@ -62402,7 +63802,7 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton)};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -62411,14 +63811,14 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton)};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -62429,7 +63829,7 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton));
__pyx_t_7 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -62447,14 +63847,14 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3171, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3171, __pyx_L1_error)
+ __PYX_ERR(1, 3250, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3170
+ /* "dependency_injector/providers.pyx":3249
* :type singleton: py:class:`BaseSingleton`
* """
* if isinstance(singleton, BaseSingleton) is False: # <<<<<<<<<<<<<<
@@ -62463,14 +63863,14 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
*/
}
- /* "dependency_injector/providers.pyx":3173
+ /* "dependency_injector/providers.pyx":3252
* raise Error('{0} can wrap only {1} providers'.format(
* self.__class__, BaseSingleton))
* super(SingletonDelegate, self).__init__(singleton) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3173, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonDelegate));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_SingletonDelegate));
@@ -62478,10 +63878,10 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3173, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3173, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -62496,12 +63896,12 @@ static int __pyx_pf_19dependency_injector_9providers_17SingletonDelegate___init_
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_singleton) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_singleton);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3173, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3164
+ /* "dependency_injector/providers.pyx":3243
* """
*
* def __init__(self, singleton): # <<<<<<<<<<<<<<
@@ -62859,7 +64259,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17SingletonDelegate_4
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3206
+/* "dependency_injector/providers.pyx":3285
* """
*
* def __init__(self, *args): # <<<<<<<<<<<<<<
@@ -62900,14 +64300,14 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3208
+ /* "dependency_injector/providers.pyx":3287
* def __init__(self, *args):
* """Initializer."""
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = 0
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3208, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -62915,7 +64315,7 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3209
+ /* "dependency_injector/providers.pyx":3288
* """Initializer."""
* self.__args = tuple()
* self.__args_len = 0 # <<<<<<<<<<<<<<
@@ -62924,28 +64324,28 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
*/
__pyx_v_self->__pyx___args_len = 0;
- /* "dependency_injector/providers.pyx":3210
+ /* "dependency_injector/providers.pyx":3289
* self.__args = tuple()
* self.__args_len = 0
* self.set_args(*args) # <<<<<<<<<<<<<<
* super(List, self).__init__()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3210, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3210, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3211
+ /* "dependency_injector/providers.pyx":3290
* self.__args_len = 0
* self.set_args(*args)
* super(List, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3211, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_List));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_List));
@@ -62953,10 +64353,10 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3211, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3211, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -62971,12 +64371,12 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3211, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3206
+ /* "dependency_injector/providers.pyx":3285
* """
*
* def __init__(self, *args): # <<<<<<<<<<<<<<
@@ -62998,7 +64398,7 @@ static int __pyx_pf_19dependency_injector_9providers_4List___init__(struct __pyx
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3213
+/* "dependency_injector/providers.pyx":3292
* super(List, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -63036,16 +64436,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":3215
+ /* "dependency_injector/providers.pyx":3294
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3215, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3215, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -63060,13 +64460,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3215, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3216
+ /* "dependency_injector/providers.pyx":3295
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -63077,7 +64477,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":3217
+ /* "dependency_injector/providers.pyx":3296
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -63089,7 +64489,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3216
+ /* "dependency_injector/providers.pyx":3295
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -63098,57 +64498,57 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
*/
}
- /* "dependency_injector/providers.pyx":3219
+ /* "dependency_injector/providers.pyx":3298
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* self._copy_overridings(copied, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3219, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3219, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3298, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3298, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3220
+ /* "dependency_injector/providers.pyx":3299
*
* copied = _memorized_duplicate(self, memo)
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3220, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3299, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3220, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3299, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3220, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3299, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3220, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3299, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3220, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3299, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3220, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3299, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3221
+ /* "dependency_injector/providers.pyx":3300
* copied = _memorized_duplicate(self, memo)
* copied.set_args(*deepcopy(self.args, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3221, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3221, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3300, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3300, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_List *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":3222
+ /* "dependency_injector/providers.pyx":3301
* copied.set_args(*deepcopy(self.args, memo))
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -63160,7 +64560,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3213
+ /* "dependency_injector/providers.pyx":3292
* super(List, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -63183,7 +64583,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_2__deepcopy__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3224
+/* "dependency_injector/providers.pyx":3303
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -63218,7 +64618,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4__str__(struct
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":3229
+ /* "dependency_injector/providers.pyx":3308
* :rtype: str
* """
* return represent_provider(provider=self, provides=list(self.args)) # <<<<<<<<<<<<<<
@@ -63226,19 +64626,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4__str__(struct
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3229, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3229, __pyx_L1_error)
+ __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3229, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3224
+ /* "dependency_injector/providers.pyx":3303
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -63258,7 +64658,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4__str__(struct
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3232
+/* "dependency_injector/providers.pyx":3311
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -63295,19 +64695,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3238
+ /* "dependency_injector/providers.pyx":3317
* cdef list args
*
* args = list() # <<<<<<<<<<<<<<
* for index in range(self.__args_len):
* arg = self.__args[index]
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3238, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3239
+ /* "dependency_injector/providers.pyx":3318
*
* args = list()
* for index in range(self.__args_len): # <<<<<<<<<<<<<<
@@ -63319,7 +64719,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":3240
+ /* "dependency_injector/providers.pyx":3319
* args = list()
* for index in range(self.__args_len):
* arg = self.__args[index] # <<<<<<<<<<<<<<
@@ -63328,15 +64728,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
*/
if (unlikely(__pyx_v_self->__pyx___args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 3240, __pyx_L1_error)
+ __PYX_ERR(1, 3319, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3240, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 3240, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 3319, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3241
+ /* "dependency_injector/providers.pyx":3320
* for index in range(self.__args_len):
* arg = self.__args[index]
* args.append(arg.__value) # <<<<<<<<<<<<<<
@@ -63345,11 +64745,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
*/
__pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 3241, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 3320, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":3242
+ /* "dependency_injector/providers.pyx":3321
* arg = self.__args[index]
* args.append(arg.__value)
* return tuple(args) # <<<<<<<<<<<<<<
@@ -63357,13 +64757,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
* def add_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3242, __pyx_L1_error)
+ __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3232
+ /* "dependency_injector/providers.pyx":3311
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -63384,7 +64784,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_4args___get__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3244
+/* "dependency_injector/providers.pyx":3323
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -63422,16 +64822,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_6add_args(struc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_args", 0);
- /* "dependency_injector/providers.pyx":3249
+ /* "dependency_injector/providers.pyx":3328
* :return: Reference ``self``
* """
* self.__args += parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3249, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3249, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -63440,7 +64840,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_6add_args(struc
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3250
+ /* "dependency_injector/providers.pyx":3329
* """
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -63451,13 +64851,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_6add_args(struc
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3250, __pyx_L1_error)
+ __PYX_ERR(1, 3329, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3250, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3329, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":3251
+ /* "dependency_injector/providers.pyx":3330
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -63469,7 +64869,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_6add_args(struc
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3244
+ /* "dependency_injector/providers.pyx":3323
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -63489,7 +64889,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_6add_args(struc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3253
+/* "dependency_injector/providers.pyx":3332
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -63526,14 +64926,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_8set_args(struc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":3260
+ /* "dependency_injector/providers.pyx":3339
* :return: Reference ``self``
* """
* self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3260, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -63541,7 +64941,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_8set_args(struc
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3261
+ /* "dependency_injector/providers.pyx":3340
* """
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -63552,13 +64952,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_8set_args(struc
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3261, __pyx_L1_error)
+ __PYX_ERR(1, 3340, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3261, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3340, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3262
+ /* "dependency_injector/providers.pyx":3341
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -63570,7 +64970,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_8set_args(struc
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3253
+ /* "dependency_injector/providers.pyx":3332
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -63589,7 +64989,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_8set_args(struc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3264
+/* "dependency_injector/providers.pyx":3343
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -63621,14 +65021,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_10clear_args(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_args", 0);
- /* "dependency_injector/providers.pyx":3269
+ /* "dependency_injector/providers.pyx":3348
* :return: Reference ``self``
* """
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3269, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -63636,7 +65036,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_10clear_args(st
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3270
+ /* "dependency_injector/providers.pyx":3349
* """
* self.__args = tuple()
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -63647,13 +65047,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_10clear_args(st
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3270, __pyx_L1_error)
+ __PYX_ERR(1, 3349, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3270, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3349, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3271
+ /* "dependency_injector/providers.pyx":3350
* self.__args = tuple()
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -63665,7 +65065,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_10clear_args(st
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3264
+ /* "dependency_injector/providers.pyx":3343
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -63685,7 +65085,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_10clear_args(st
}
static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3274
+/* "dependency_injector/providers.pyx":3353
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -63718,7 +65118,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_7related___get_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_13___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3274, __pyx_L1_error)
+ __PYX_ERR(1, 3353, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -63726,7 +65126,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_7related___get_
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_4List_7related_2generator11, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_List___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3274, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_4List_7related_2generator11, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_List___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3353, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -63763,20 +65163,20 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3274, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3353, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3276
+ /* "dependency_injector/providers.pyx":3355
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3276, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3276, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3276, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
@@ -63784,7 +65184,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3276, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -63798,23 +65198,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3276, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3355, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3276, __pyx_L1_error)
+ else __PYX_ERR(1, 3355, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3277
+ /* "dependency_injector/providers.pyx":3356
* """Return related providers generator."""
* yield from filter(is_provider, self.args)
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3277, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_List));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_List));
@@ -63822,10 +65222,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3277, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3277, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -63839,17 +65239,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3277, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3356, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3277, __pyx_L1_error)
+ else __PYX_ERR(1, 3356, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3274
+ /* "dependency_injector/providers.pyx":3353
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -63876,7 +65276,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3279
+/* "dependency_injector/providers.pyx":3358
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -63907,7 +65307,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_4List_13_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -63927,7 +65327,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -63935,13 +65335,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -63952,7 +65352,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -63975,7 +65375,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
#endif
}
- /* "dependency_injector/providers.pyx":3281
+ /* "dependency_injector/providers.pyx":3360
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* return __provide_positional_args(args, self.__args, self.__args_len) # <<<<<<<<<<<<<<
@@ -63985,14 +65385,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3281, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3360, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3279
+ /* "dependency_injector/providers.pyx":3358
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -64050,11 +65450,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4List_13_provide(PyOb
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3279, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3358, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3279, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3358, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -64067,14 +65467,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4List_13_provide(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3279, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3358, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.List._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3279, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3279, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3358, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3358, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_4List_12_provide(((struct __pyx_obj_19dependency_injector_9providers_List *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -64095,7 +65495,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_12_provide(stru
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4List__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3279, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4List__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -64449,7 +65849,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4List_16__setstate_cy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3314
+/* "dependency_injector/providers.pyx":3393
* """
*
* def __init__(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -64496,7 +65896,7 @@ static int __pyx_pw_19dependency_injector_9providers_4Dict_1__init__(PyObject *_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3314, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3393, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -64510,7 +65910,7 @@ static int __pyx_pw_19dependency_injector_9providers_4Dict_1__init__(PyObject *_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3314, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3393, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.Dict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -64531,19 +65931,20 @@ static int __pyx_pf_19dependency_injector_9providers_4Dict___init__(struct __pyx
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
+ PyObject *__pyx_t_4 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3316
+ /* "dependency_injector/providers.pyx":3395
* def __init__(self, dict_=None, **kwargs):
* """Initializer."""
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = 0
* self.add_kwargs(dict_, **kwargs)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3316, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -64551,7 +65952,7 @@ static int __pyx_pf_19dependency_injector_9providers_4Dict___init__(struct __pyx
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3317
+ /* "dependency_injector/providers.pyx":3396
* """Initializer."""
* self.__kwargs = tuple()
* self.__kwargs_len = 0 # <<<<<<<<<<<<<<
@@ -64560,65 +65961,68 @@ static int __pyx_pf_19dependency_injector_9providers_4Dict___init__(struct __pyx
*/
__pyx_v_self->__pyx___kwargs_len = 0;
- /* "dependency_injector/providers.pyx":3318
+ /* "dependency_injector/providers.pyx":3397
* self.__kwargs = tuple()
* self.__kwargs_len = 0
* self.add_kwargs(dict_, **kwargs) # <<<<<<<<<<<<<<
* super(Dict, self).__init__()
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3318, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3318, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_dict_);
__Pyx_GIVEREF(__pyx_v_dict_);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_dict_);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3318, __pyx_L1_error)
+ __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3397, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3319
+ /* "dependency_injector/providers.pyx":3398
* self.__kwargs_len = 0
* self.add_kwargs(dict_, **kwargs)
* super(Dict, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3319, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3398, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
+ PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3319, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3319, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_1);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3319, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_3, function);
+ }
+ }
+ __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3398, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3314
+ /* "dependency_injector/providers.pyx":3393
* """
*
* def __init__(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -64633,6 +66037,7 @@ static int __pyx_pf_19dependency_injector_9providers_4Dict___init__(struct __pyx
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
+ __Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("dependency_injector.providers.Dict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
@@ -64640,7 +66045,7 @@ static int __pyx_pf_19dependency_injector_9providers_4Dict___init__(struct __pyx
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3321
+/* "dependency_injector/providers.pyx":3400
* super(Dict, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -64678,16 +66083,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":3323
+ /* "dependency_injector/providers.pyx":3402
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3323, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3323, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -64702,13 +66107,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3323, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3324
+ /* "dependency_injector/providers.pyx":3403
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -64719,7 +66124,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":3325
+ /* "dependency_injector/providers.pyx":3404
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -64731,7 +66136,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3324
+ /* "dependency_injector/providers.pyx":3403
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -64740,27 +66145,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
*/
}
- /* "dependency_injector/providers.pyx":3327
+ /* "dependency_injector/providers.pyx":3406
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* self._copy_kwargs(copied, memo)
* self._copy_overridings(copied, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3327, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3327, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3406, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3328
+ /* "dependency_injector/providers.pyx":3407
*
* copied = _memorized_duplicate(self, memo)
* self._copy_kwargs(copied, memo) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3328, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_7 = 0;
@@ -64777,7 +66182,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_copied, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3328, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3407, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -64785,13 +66190,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_copied, __pyx_v_memo};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3328, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3407, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3328, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -64802,25 +66207,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_memo);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3328, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3329
+ /* "dependency_injector/providers.pyx":3408
* copied = _memorized_duplicate(self, memo)
* self._copy_kwargs(copied, memo)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3329, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3329, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3408, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3408, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Dict *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":3330
+ /* "dependency_injector/providers.pyx":3409
* self._copy_kwargs(copied, memo)
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -64832,7 +66237,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3321
+ /* "dependency_injector/providers.pyx":3400
* super(Dict, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -64855,7 +66260,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_2__deepcopy__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3332
+/* "dependency_injector/providers.pyx":3411
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -64890,7 +66295,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_4__str__(struct
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":3337
+ /* "dependency_injector/providers.pyx":3416
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.kwargs) # <<<<<<<<<<<<<<
@@ -64898,16 +66303,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_4__str__(struct
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3337, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3337, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3332
+ /* "dependency_injector/providers.pyx":3411
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -64927,7 +66332,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_4__str__(struct
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3340
+/* "dependency_injector/providers.pyx":3419
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -64963,19 +66368,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3346
+ /* "dependency_injector/providers.pyx":3425
* cdef dict kwargs
*
* kwargs = dict() # <<<<<<<<<<<<<<
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3346, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3347
+ /* "dependency_injector/providers.pyx":3426
*
* kwargs = dict()
* for index in range(self.__kwargs_len): # <<<<<<<<<<<<<<
@@ -64987,7 +66392,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":3348
+ /* "dependency_injector/providers.pyx":3427
* kwargs = dict()
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index] # <<<<<<<<<<<<<<
@@ -64996,15 +66401,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
*/
if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 3348, __pyx_L1_error)
+ __PYX_ERR(1, 3427, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3348, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 3348, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 3427, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3349
+ /* "dependency_injector/providers.pyx":3428
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<<
@@ -65013,11 +66418,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
*/
__pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 3349, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 3428, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":3350
+ /* "dependency_injector/providers.pyx":3429
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value
* return kwargs # <<<<<<<<<<<<<<
@@ -65029,7 +66434,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3340
+ /* "dependency_injector/providers.pyx":3419
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -65050,7 +66455,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6kwargs___get__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3352
+/* "dependency_injector/providers.pyx":3431
* return kwargs
*
* def add_kwargs(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -65094,7 +66499,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_7add_kwargs(PyO
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "add_kwargs") < 0)) __PYX_ERR(1, 3352, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "add_kwargs") < 0)) __PYX_ERR(1, 3431, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -65108,7 +66513,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_7add_kwargs(PyO
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("add_kwargs", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3352, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("add_kwargs", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3431, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.Dict.add_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -65137,7 +66542,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__Pyx_RefNannySetupContext("add_kwargs", 0);
__Pyx_INCREF(__pyx_v_dict_);
- /* "dependency_injector/providers.pyx":3357
+ /* "dependency_injector/providers.pyx":3436
* :return: Reference ``self``
* """
* if dict_ is None: # <<<<<<<<<<<<<<
@@ -65148,19 +66553,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":3358
+ /* "dependency_injector/providers.pyx":3437
* """
* if dict_ is None:
* dict_ = {} # <<<<<<<<<<<<<<
*
* self.__kwargs += parse_named_injections(dict_)
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3358, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_dict_, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3357
+ /* "dependency_injector/providers.pyx":3436
* :return: Reference ``self``
* """
* if dict_ is None: # <<<<<<<<<<<<<<
@@ -65169,17 +66574,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
*/
}
- /* "dependency_injector/providers.pyx":3360
+ /* "dependency_injector/providers.pyx":3439
* dict_ = {}
*
* self.__kwargs += parse_named_injections(dict_) # <<<<<<<<<<<<<<
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_dict_))||((__pyx_v_dict_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_dict_)->tp_name), 0))) __PYX_ERR(1, 3360, __pyx_L1_error)
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(((PyObject*)__pyx_v_dict_), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3360, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_dict_))||((__pyx_v_dict_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_dict_)->tp_name), 0))) __PYX_ERR(1, 3439, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(((PyObject*)__pyx_v_dict_), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3439, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3360, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3439, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_4);
@@ -65188,16 +66593,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3361
+ /* "dependency_injector/providers.pyx":3440
*
* self.__kwargs += parse_named_injections(dict_)
* self.__kwargs += parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
*
*/
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3361, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3361, __pyx_L1_error)
+ __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3440, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GIVEREF(__pyx_t_3);
@@ -65206,7 +66611,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3362
+ /* "dependency_injector/providers.pyx":3441
* self.__kwargs += parse_named_injections(dict_)
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -65217,13 +66622,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__Pyx_INCREF(__pyx_t_3);
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3362, __pyx_L1_error)
+ __PYX_ERR(1, 3441, __pyx_L1_error)
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_t_3); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3362, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_t_3); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3441, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_5;
- /* "dependency_injector/providers.pyx":3364
+ /* "dependency_injector/providers.pyx":3443
* self.__kwargs_len = len(self.__kwargs)
*
* return self # <<<<<<<<<<<<<<
@@ -65235,7 +66640,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3352
+ /* "dependency_injector/providers.pyx":3431
* return kwargs
*
* def add_kwargs(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -65256,7 +66661,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_6add_kwargs(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3366
+/* "dependency_injector/providers.pyx":3445
* return self
*
* def set_kwargs(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -65300,7 +66705,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_9set_kwargs(PyO
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "set_kwargs") < 0)) __PYX_ERR(1, 3366, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "set_kwargs") < 0)) __PYX_ERR(1, 3445, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -65314,7 +66719,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_9set_kwargs(PyO
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_kwargs", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3366, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("set_kwargs", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3445, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("dependency_injector.providers.Dict.set_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -65343,7 +66748,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__Pyx_RefNannySetupContext("set_kwargs", 0);
__Pyx_INCREF(__pyx_v_dict_);
- /* "dependency_injector/providers.pyx":3373
+ /* "dependency_injector/providers.pyx":3452
* :return: Reference ``self``
* """
* if dict_ is None: # <<<<<<<<<<<<<<
@@ -65354,19 +66759,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":3374
+ /* "dependency_injector/providers.pyx":3453
* """
* if dict_ is None:
* dict_ = {} # <<<<<<<<<<<<<<
*
* self.__kwargs = parse_named_injections(dict_)
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3374, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_dict_, __pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3373
+ /* "dependency_injector/providers.pyx":3452
* :return: Reference ``self``
* """
* if dict_ is None: # <<<<<<<<<<<<<<
@@ -65375,15 +66780,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
*/
}
- /* "dependency_injector/providers.pyx":3376
+ /* "dependency_injector/providers.pyx":3455
* dict_ = {}
*
* self.__kwargs = parse_named_injections(dict_) # <<<<<<<<<<<<<<
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_dict_))||((__pyx_v_dict_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_dict_)->tp_name), 0))) __PYX_ERR(1, 3376, __pyx_L1_error)
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(((PyObject*)__pyx_v_dict_), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3376, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_dict_))||((__pyx_v_dict_) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_dict_)->tp_name), 0))) __PYX_ERR(1, 3455, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(((PyObject*)__pyx_v_dict_), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3455, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -65391,16 +66796,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3377
+ /* "dependency_injector/providers.pyx":3456
*
* self.__kwargs = parse_named_injections(dict_)
* self.__kwargs += parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
*
*/
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3377, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3377, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_4);
@@ -65409,7 +66814,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3378
+ /* "dependency_injector/providers.pyx":3457
* self.__kwargs = parse_named_injections(dict_)
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -65420,13 +66825,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__Pyx_INCREF(__pyx_t_4);
if (unlikely(__pyx_t_4 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3378, __pyx_L1_error)
+ __PYX_ERR(1, 3457, __pyx_L1_error)
}
- __pyx_t_5 = PyTuple_GET_SIZE(__pyx_t_4); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3378, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_GET_SIZE(__pyx_t_4); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3457, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_5;
- /* "dependency_injector/providers.pyx":3380
+ /* "dependency_injector/providers.pyx":3459
* self.__kwargs_len = len(self.__kwargs)
*
* return self # <<<<<<<<<<<<<<
@@ -65438,7 +66843,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3366
+ /* "dependency_injector/providers.pyx":3445
* return self
*
* def set_kwargs(self, dict_=None, **kwargs): # <<<<<<<<<<<<<<
@@ -65459,7 +66864,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_8set_kwargs(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3382
+/* "dependency_injector/providers.pyx":3461
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -65491,14 +66896,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_10clear_kwargs(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_kwargs", 0);
- /* "dependency_injector/providers.pyx":3387
+ /* "dependency_injector/providers.pyx":3466
* :return: Reference ``self``
* """
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3387, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -65506,7 +66911,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_10clear_kwargs(
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3388
+ /* "dependency_injector/providers.pyx":3467
* """
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -65517,13 +66922,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_10clear_kwargs(
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3388, __pyx_L1_error)
+ __PYX_ERR(1, 3467, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3388, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3467, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3389
+ /* "dependency_injector/providers.pyx":3468
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -65535,7 +66940,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_10clear_kwargs(
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3382
+ /* "dependency_injector/providers.pyx":3461
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -65555,7 +66960,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_10clear_kwargs(
}
static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3392
+/* "dependency_injector/providers.pyx":3471
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -65588,7 +66993,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_7related___get_
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_14___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3392, __pyx_L1_error)
+ __PYX_ERR(1, 3471, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -65596,7 +67001,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_7related___get_
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_4Dict_7related_2generator12, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Dict___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3392, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_4Dict_7related_2generator12, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Dict___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3471, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -65634,20 +67039,20 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3392, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3471, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3394
+ /* "dependency_injector/providers.pyx":3473
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -65662,10 +67067,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
@@ -65673,7 +67078,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3473, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -65687,23 +67092,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3394, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3473, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3394, __pyx_L1_error)
+ else __PYX_ERR(1, 3473, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3395
+ /* "dependency_injector/providers.pyx":3474
* """Return related providers generator."""
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* def _copy_kwargs(self, copied, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3395, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dict));
@@ -65711,10 +67116,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3395, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3395, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -65728,17 +67133,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3395, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3474, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3395, __pyx_L1_error)
+ else __PYX_ERR(1, 3474, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3392
+ /* "dependency_injector/providers.pyx":3471
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -65766,7 +67171,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4Dict_7related_2gener
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3397
+/* "dependency_injector/providers.pyx":3476
* yield from super().related
*
* def _copy_kwargs(self, copied, memo): # <<<<<<<<<<<<<<
@@ -65809,11 +67214,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_13_copy_kwargs(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_kwargs", 1, 2, 2, 1); __PYX_ERR(1, 3397, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_kwargs", 1, 2, 2, 1); __PYX_ERR(1, 3476, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_kwargs") < 0)) __PYX_ERR(1, 3397, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_kwargs") < 0)) __PYX_ERR(1, 3476, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -65826,7 +67231,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_13_copy_kwargs(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_kwargs", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3397, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_kwargs", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3476, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Dict._copy_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -65859,7 +67264,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_kwargs", 0);
- /* "dependency_injector/providers.pyx":3399
+ /* "dependency_injector/providers.pyx":3478
* def _copy_kwargs(self, copied, memo):
* """Return copy of kwargs."""
* copied_kwargs = { # <<<<<<<<<<<<<<
@@ -65867,19 +67272,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
* for name, value in self.kwargs.items()
*/
{ /* enter inner scope */
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3399, __pyx_L5_error)
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3478, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":3401
+ /* "dependency_injector/providers.pyx":3480
* copied_kwargs = {
* _copy_if_provider(name, memo): _copy_if_provider(value, memo)
* for name, value in self.kwargs.items() # <<<<<<<<<<<<<<
* }
* copied.set_kwargs(copied_kwargs)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -65894,16 +67299,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3480, __pyx_L5_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
@@ -65911,17 +67316,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 3480, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 3480, __pyx_L5_error)
#else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
@@ -65931,7 +67336,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 3401, __pyx_L5_error)
+ else __PYX_ERR(1, 3480, __pyx_L5_error)
}
break;
}
@@ -65943,7 +67348,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 3401, __pyx_L5_error)
+ __PYX_ERR(1, 3480, __pyx_L5_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -65956,15 +67361,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3401, __pyx_L5_error)
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3480, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
@@ -65972,7 +67377,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(1, 3401, __pyx_L5_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(1, 3480, __pyx_L5_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L9_unpacking_done;
@@ -65980,7 +67385,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 3401, __pyx_L5_error)
+ __PYX_ERR(1, 3480, __pyx_L5_error)
__pyx_L9_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_name, __pyx_t_3);
@@ -65988,24 +67393,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
__Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":3400
+ /* "dependency_injector/providers.pyx":3479
* """Return copy of kwargs."""
* copied_kwargs = {
* _copy_if_provider(name, memo): _copy_if_provider(value, memo) # <<<<<<<<<<<<<<
* for name, value in self.kwargs.items()
* }
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3400, __pyx_L5_error)
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_8genexpr1__pyx_v_name, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3400, __pyx_L5_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3479, __pyx_L5_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_8genexpr1__pyx_v_name, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3479, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3400, __pyx_L5_error)
- __pyx_t_7 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_8genexpr1__pyx_v_value, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3400, __pyx_L5_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3479, __pyx_L5_error)
+ __pyx_t_7 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_8genexpr1__pyx_v_value, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3479, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
- if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_t_2, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 3400, __pyx_L5_error)
+ if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_t_2, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 3479, __pyx_L5_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":3401
+ /* "dependency_injector/providers.pyx":3480
* copied_kwargs = {
* _copy_if_provider(name, memo): _copy_if_provider(value, memo)
* for name, value in self.kwargs.items() # <<<<<<<<<<<<<<
@@ -66026,14 +67431,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
__pyx_v_copied_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3403
+ /* "dependency_injector/providers.pyx":3482
* for name, value in self.kwargs.items()
* }
* copied.set_kwargs(copied_kwargs) # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3403, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3482, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -66047,12 +67452,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
}
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_copied_kwargs) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_copied_kwargs);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3403, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3482, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3397
+ /* "dependency_injector/providers.pyx":3476
* yield from super().related
*
* def _copy_kwargs(self, copied, memo): # <<<<<<<<<<<<<<
@@ -66081,7 +67486,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_12_copy_kwargs(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3405
+/* "dependency_injector/providers.pyx":3484
* copied.set_kwargs(copied_kwargs)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -66112,7 +67517,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_4Dict_15_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -66132,7 +67537,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -66140,13 +67545,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -66157,7 +67562,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -66180,7 +67585,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
#endif
}
- /* "dependency_injector/providers.pyx":3407
+ /* "dependency_injector/providers.pyx":3486
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* return __provide_keyword_args(kwargs, self.__kwargs, self.__kwargs_len) # <<<<<<<<<<<<<<
@@ -66190,14 +67595,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4Dict__provide(struct
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_kwargs, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3407, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_kwargs, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3486, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3405
+ /* "dependency_injector/providers.pyx":3484
* copied.set_kwargs(copied_kwargs)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -66255,11 +67660,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_15_provide(PyOb
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3405, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3484, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3405, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3484, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -66272,14 +67677,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_4Dict_15_provide(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3405, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3484, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Dict._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3405, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3405, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3484, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3484, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_4Dict_14_provide(((struct __pyx_obj_19dependency_injector_9providers_Dict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -66300,7 +67705,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_14_provide(stru
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4Dict__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3405, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_4Dict__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -66654,7 +68059,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_4Dict_18__setstate_cy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3414
+/* "dependency_injector/providers.pyx":3493
* """Resource provider provides a component with initialization and shutdown."""
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -66710,7 +68115,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Resource_1__init__(PyObjec
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 3414, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 3493, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -66750,7 +68155,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3415
+ /* "dependency_injector/providers.pyx":3494
*
* def __init__(self, provides=None, *args, **kwargs):
* self.__provides = None # <<<<<<<<<<<<<<
@@ -66763,14 +68168,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":3416
+ /* "dependency_injector/providers.pyx":3495
* def __init__(self, provides=None, *args, **kwargs):
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
*
* self.__initialized = False
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3416, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -66784,12 +68189,12 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3416, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3418
+ /* "dependency_injector/providers.pyx":3497
* self.set_provides(provides)
*
* self.__initialized = False # <<<<<<<<<<<<<<
@@ -66798,7 +68203,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
*/
__pyx_v_self->__pyx___initialized = 0;
- /* "dependency_injector/providers.pyx":3419
+ /* "dependency_injector/providers.pyx":3498
*
* self.__initialized = False
* self.__resource = None # <<<<<<<<<<<<<<
@@ -66811,7 +68216,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = Py_None;
- /* "dependency_injector/providers.pyx":3420
+ /* "dependency_injector/providers.pyx":3499
* self.__initialized = False
* self.__resource = None
* self.__shutdowner = None # <<<<<<<<<<<<<<
@@ -66824,14 +68229,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___shutdowner);
__pyx_v_self->__pyx___shutdowner = Py_None;
- /* "dependency_injector/providers.pyx":3422
+ /* "dependency_injector/providers.pyx":3501
* self.__shutdowner = None
*
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = 0
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3422, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -66839,7 +68244,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3423
+ /* "dependency_injector/providers.pyx":3502
*
* self.__args = tuple()
* self.__args_len = 0 # <<<<<<<<<<<<<<
@@ -66848,28 +68253,28 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
*/
__pyx_v_self->__pyx___args_len = 0;
- /* "dependency_injector/providers.pyx":3424
+ /* "dependency_injector/providers.pyx":3503
* self.__args = tuple()
* self.__args_len = 0
* self.set_args(*args) # <<<<<<<<<<<<<<
*
* self.__kwargs = tuple()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3424, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3424, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3426
+ /* "dependency_injector/providers.pyx":3505
* self.set_args(*args)
*
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3426, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -66877,7 +68282,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3427
+ /* "dependency_injector/providers.pyx":3506
*
* self.__kwargs = tuple()
* self.__kwargs_len = 0 # <<<<<<<<<<<<<<
@@ -66886,59 +68291,62 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
*/
__pyx_v_self->__pyx___kwargs_len = 0;
- /* "dependency_injector/providers.pyx":3428
+ /* "dependency_injector/providers.pyx":3507
* self.__kwargs = tuple()
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
*
* super().__init__()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3428, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3428, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3507, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3430
+ /* "dependency_injector/providers.pyx":3509
* self.set_kwargs(**kwargs)
*
* super().__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3430, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3509, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3430, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3430, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3430, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3509, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3414
+ /* "dependency_injector/providers.pyx":3493
* """Resource provider provides a component with initialization and shutdown."""
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -66960,7 +68368,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Resource___init__(struct _
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3432
+/* "dependency_injector/providers.pyx":3511
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -66998,16 +68406,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":3434
+ /* "dependency_injector/providers.pyx":3513
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3434, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3434, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -67022,13 +68430,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3434, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3435
+ /* "dependency_injector/providers.pyx":3514
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -67039,7 +68447,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":3436
+ /* "dependency_injector/providers.pyx":3515
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -67051,7 +68459,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3435
+ /* "dependency_injector/providers.pyx":3514
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -67060,7 +68468,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":3438
+ /* "dependency_injector/providers.pyx":3517
* return copied
*
* if self.__initialized: # <<<<<<<<<<<<<<
@@ -67070,14 +68478,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_t_6 = (__pyx_v_self->__pyx___initialized != 0);
if (unlikely(__pyx_t_6)) {
- /* "dependency_injector/providers.pyx":3439
+ /* "dependency_injector/providers.pyx":3518
*
* if self.__initialized:
* raise Error('Can not copy initialized resource') # <<<<<<<<<<<<<<
*
* copied = _memorized_duplicate(self, memo)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3439, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
@@ -67091,14 +68499,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Can_not_copy_initialized_resourc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Can_not_copy_initialized_resourc);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3439, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 3439, __pyx_L1_error)
+ __PYX_ERR(1, 3518, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3438
+ /* "dependency_injector/providers.pyx":3517
* return copied
*
* if self.__initialized: # <<<<<<<<<<<<<<
@@ -67107,32 +68515,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":3441
+ /* "dependency_injector/providers.pyx":3520
* raise Error('Can not copy initialized resource')
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3441, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3441, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3520, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3442
+ /* "dependency_injector/providers.pyx":3521
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3442, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3442, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3442, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3442, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3521, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -67148,85 +68556,85 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3442, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3443
+ /* "dependency_injector/providers.pyx":3522
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3443, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3443, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3443, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3522, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3443, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3443, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3443, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3444
+ /* "dependency_injector/providers.pyx":3523
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<<
*
* self._copy_overridings(copied, memo)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3444, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3523, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 3444, __pyx_L1_error)
+ __PYX_ERR(1, 3523, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3444, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3446
+ /* "dependency_injector/providers.pyx":3525
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3446, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3446, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3525, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3525, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Resource *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":3448
+ /* "dependency_injector/providers.pyx":3527
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -67238,7 +68646,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3432
+ /* "dependency_injector/providers.pyx":3511
* super().__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -67261,7 +68669,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_2__deepcopy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3450
+/* "dependency_injector/providers.pyx":3529
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -67296,7 +68704,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4__str__(st
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
- /* "dependency_injector/providers.pyx":3455
+ /* "dependency_injector/providers.pyx":3534
* :rtype: str
* """
* return represent_provider(provider=self, provides=self.provides) # <<<<<<<<<<<<<<
@@ -67304,16 +68712,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4__str__(st
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3455, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3455, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_represent_provider(((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3450
+ /* "dependency_injector/providers.pyx":3529
* return copied
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -67333,7 +68741,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4__str__(st
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3458
+/* "dependency_injector/providers.pyx":3537
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -67359,7 +68767,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8provides__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3460
+ /* "dependency_injector/providers.pyx":3539
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -67371,7 +68779,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8provides__
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3458
+ /* "dependency_injector/providers.pyx":3537
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -67386,7 +68794,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8provides__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3462
+/* "dependency_injector/providers.pyx":3541
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -67413,7 +68821,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6set_provid
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":3464
+ /* "dependency_injector/providers.pyx":3543
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -67426,7 +68834,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6set_provid
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":3465
+ /* "dependency_injector/providers.pyx":3544
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -67438,7 +68846,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6set_provid
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3462
+ /* "dependency_injector/providers.pyx":3541
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -67453,7 +68861,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6set_provid
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3468
+/* "dependency_injector/providers.pyx":3547
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -67490,19 +68898,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3474
+ /* "dependency_injector/providers.pyx":3553
* cdef list args
*
* args = list() # <<<<<<<<<<<<<<
* for index in range(self.__args_len):
* arg = self.__args[index]
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3474, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3553, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3475
+ /* "dependency_injector/providers.pyx":3554
*
* args = list()
* for index in range(self.__args_len): # <<<<<<<<<<<<<<
@@ -67514,7 +68922,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":3476
+ /* "dependency_injector/providers.pyx":3555
* args = list()
* for index in range(self.__args_len):
* arg = self.__args[index] # <<<<<<<<<<<<<<
@@ -67523,15 +68931,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
*/
if (unlikely(__pyx_v_self->__pyx___args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 3476, __pyx_L1_error)
+ __PYX_ERR(1, 3555, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3476, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3555, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 3476, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 3555, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3477
+ /* "dependency_injector/providers.pyx":3556
* for index in range(self.__args_len):
* arg = self.__args[index]
* args.append(arg.__value) # <<<<<<<<<<<<<<
@@ -67540,11 +68948,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
*/
__pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 3477, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 3556, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":3478
+ /* "dependency_injector/providers.pyx":3557
* arg = self.__args[index]
* args.append(arg.__value)
* return tuple(args) # <<<<<<<<<<<<<<
@@ -67552,13 +68960,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
* def add_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3478, __pyx_L1_error)
+ __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3468
+ /* "dependency_injector/providers.pyx":3547
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -67579,7 +68987,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_4args___get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3480
+/* "dependency_injector/providers.pyx":3559
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -67617,16 +69025,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8add_args(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_args", 0);
- /* "dependency_injector/providers.pyx":3485
+ /* "dependency_injector/providers.pyx":3564
* :return: Reference ``self``
* """
* self.__args += parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3485, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3564, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3485, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3564, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -67635,7 +69043,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8add_args(s
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3486
+ /* "dependency_injector/providers.pyx":3565
* """
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -67646,13 +69054,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8add_args(s
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3486, __pyx_L1_error)
+ __PYX_ERR(1, 3565, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3486, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3565, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":3487
+ /* "dependency_injector/providers.pyx":3566
* self.__args += parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -67664,7 +69072,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8add_args(s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3480
+ /* "dependency_injector/providers.pyx":3559
* return tuple(args)
*
* def add_args(self, *args): # <<<<<<<<<<<<<<
@@ -67684,7 +69092,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_8add_args(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3489
+/* "dependency_injector/providers.pyx":3568
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -67721,14 +69129,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_10set_args(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":3496
+ /* "dependency_injector/providers.pyx":3575
* :return: Reference ``self``
* """
* self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3496, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -67736,7 +69144,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_10set_args(
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3497
+ /* "dependency_injector/providers.pyx":3576
* """
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -67747,13 +69155,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_10set_args(
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3497, __pyx_L1_error)
+ __PYX_ERR(1, 3576, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3497, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3576, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3498
+ /* "dependency_injector/providers.pyx":3577
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -67765,7 +69173,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_10set_args(
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3489
+ /* "dependency_injector/providers.pyx":3568
* return self
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -67784,7 +69192,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_10set_args(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3500
+/* "dependency_injector/providers.pyx":3579
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -67816,14 +69224,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_12clear_arg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_args", 0);
- /* "dependency_injector/providers.pyx":3505
+ /* "dependency_injector/providers.pyx":3584
* :return: Reference ``self``
* """
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3505, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -67831,7 +69239,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_12clear_arg
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3506
+ /* "dependency_injector/providers.pyx":3585
* """
* self.__args = tuple()
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -67842,13 +69250,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_12clear_arg
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3506, __pyx_L1_error)
+ __PYX_ERR(1, 3585, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3506, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3585, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3507
+ /* "dependency_injector/providers.pyx":3586
* self.__args = tuple()
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -67860,7 +69268,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_12clear_arg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3500
+ /* "dependency_injector/providers.pyx":3579
* return self
*
* def clear_args(self): # <<<<<<<<<<<<<<
@@ -67879,7 +69287,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_12clear_arg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3510
+/* "dependency_injector/providers.pyx":3589
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -67915,19 +69323,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3516
+ /* "dependency_injector/providers.pyx":3595
* cdef dict kwargs
*
* kwargs = dict() # <<<<<<<<<<<<<<
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3516, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3517
+ /* "dependency_injector/providers.pyx":3596
*
* kwargs = dict()
* for index in range(self.__kwargs_len): # <<<<<<<<<<<<<<
@@ -67939,7 +69347,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":3518
+ /* "dependency_injector/providers.pyx":3597
* kwargs = dict()
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index] # <<<<<<<<<<<<<<
@@ -67948,15 +69356,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
*/
if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 3518, __pyx_L1_error)
+ __PYX_ERR(1, 3597, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3518, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3597, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 3518, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 3597, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3519
+ /* "dependency_injector/providers.pyx":3598
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<<
@@ -67965,11 +69373,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
*/
__pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 3519, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 3598, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":3520
+ /* "dependency_injector/providers.pyx":3599
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value
* return kwargs # <<<<<<<<<<<<<<
@@ -67981,7 +69389,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3510
+ /* "dependency_injector/providers.pyx":3589
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -68002,7 +69410,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_6kwargs___g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3522
+/* "dependency_injector/providers.pyx":3601
* return kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -68042,16 +69450,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_14add_kwarg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("add_kwargs", 0);
- /* "dependency_injector/providers.pyx":3527
+ /* "dependency_injector/providers.pyx":3606
* :return: Reference ``self``
* """
* self.__kwargs += parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3527, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3527, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->__pyx___kwargs, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3606, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_2);
@@ -68060,7 +69468,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_14add_kwarg
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3528
+ /* "dependency_injector/providers.pyx":3607
* """
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -68071,13 +69479,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_14add_kwarg
__Pyx_INCREF(__pyx_t_2);
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3528, __pyx_L1_error)
+ __PYX_ERR(1, 3607, __pyx_L1_error)
}
- __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3528, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3607, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_3;
- /* "dependency_injector/providers.pyx":3529
+ /* "dependency_injector/providers.pyx":3608
* self.__kwargs += parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -68089,7 +69497,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_14add_kwarg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3522
+ /* "dependency_injector/providers.pyx":3601
* return kwargs
*
* def add_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -68109,7 +69517,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_14add_kwarg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3531
+/* "dependency_injector/providers.pyx":3610
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -68148,14 +69556,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_16set_kwarg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_kwargs", 0);
- /* "dependency_injector/providers.pyx":3538
+ /* "dependency_injector/providers.pyx":3617
* :return: Reference ``self``
* """
* self.__kwargs = parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3538, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -68163,7 +69571,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_16set_kwarg
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3539
+ /* "dependency_injector/providers.pyx":3618
* """
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -68174,13 +69582,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_16set_kwarg
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3539, __pyx_L1_error)
+ __PYX_ERR(1, 3618, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3539, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3618, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3540
+ /* "dependency_injector/providers.pyx":3619
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -68192,7 +69600,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_16set_kwarg
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3531
+ /* "dependency_injector/providers.pyx":3610
* return self
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -68211,7 +69619,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_16set_kwarg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3542
+/* "dependency_injector/providers.pyx":3621
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -68243,14 +69651,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_18clear_kwa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear_kwargs", 0);
- /* "dependency_injector/providers.pyx":3547
+ /* "dependency_injector/providers.pyx":3626
* :return: Reference ``self``
* """
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3547, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -68258,7 +69666,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_18clear_kwa
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3548
+ /* "dependency_injector/providers.pyx":3627
* """
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -68269,13 +69677,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_18clear_kwa
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 3548, __pyx_L1_error)
+ __PYX_ERR(1, 3627, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3548, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 3627, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":3549
+ /* "dependency_injector/providers.pyx":3628
* self.__kwargs = tuple()
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -68287,7 +69695,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_18clear_kwa
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3542
+ /* "dependency_injector/providers.pyx":3621
* return self
*
* def clear_kwargs(self): # <<<<<<<<<<<<<<
@@ -68306,7 +69714,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_18clear_kwa
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3552
+/* "dependency_injector/providers.pyx":3631
*
* @property
* def initialized(self): # <<<<<<<<<<<<<<
@@ -68336,7 +69744,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_11initializ
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3554
+ /* "dependency_injector/providers.pyx":3633
* def initialized(self):
* """Check if resource is initialized."""
* return self.__initialized # <<<<<<<<<<<<<<
@@ -68344,13 +69752,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_11initializ
* def init(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___initialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3554, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->__pyx___initialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3552
+ /* "dependency_injector/providers.pyx":3631
*
* @property
* def initialized(self): # <<<<<<<<<<<<<<
@@ -68369,7 +69777,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_11initializ
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3556
+/* "dependency_injector/providers.pyx":3635
* return self.__initialized
*
* def init(self): # <<<<<<<<<<<<<<
@@ -68402,7 +69810,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_20init(stru
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("init", 0);
- /* "dependency_injector/providers.pyx":3558
+ /* "dependency_injector/providers.pyx":3637
* def init(self):
* """Initialize resource."""
* return self.__call__() # <<<<<<<<<<<<<<
@@ -68410,7 +69818,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_20init(stru
* def shutdown(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3558, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -68424,14 +69832,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_20init(stru
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3558, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3556
+ /* "dependency_injector/providers.pyx":3635
* return self.__initialized
*
* def init(self): # <<<<<<<<<<<<<<
@@ -68452,7 +69860,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_20init(stru
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3560
+/* "dependency_injector/providers.pyx":3639
* return self.__call__()
*
* def shutdown(self): # <<<<<<<<<<<<<<
@@ -68492,7 +69900,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("shutdown", 0);
- /* "dependency_injector/providers.pyx":3562
+ /* "dependency_injector/providers.pyx":3641
* def shutdown(self):
* """Shutdown resource."""
* if not self.__initialized: # <<<<<<<<<<<<<<
@@ -68502,14 +69910,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__pyx_t_1 = ((!(__pyx_v_self->__pyx___initialized != 0)) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3563
+ /* "dependency_injector/providers.pyx":3642
* """Shutdown resource."""
* if not self.__initialized:
* if self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
* result = asyncio.Future()
* result.set_result(None)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3563, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -68523,23 +69931,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3563, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3563, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3642, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3564
+ /* "dependency_injector/providers.pyx":3643
* if not self.__initialized:
* if self.is_async_mode_enabled():
* result = asyncio.Future() # <<<<<<<<<<<<<<
* result.set_result(None)
* return result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3564, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3564, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -68554,20 +69962,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3564, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3565
+ /* "dependency_injector/providers.pyx":3644
* if self.is_async_mode_enabled():
* result = asyncio.Future()
* result.set_result(None) # <<<<<<<<<<<<<<
* return result
* return
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3565, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -68581,12 +69989,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_4, Py_None);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3565, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3566
+ /* "dependency_injector/providers.pyx":3645
* result = asyncio.Future()
* result.set_result(None)
* return result # <<<<<<<<<<<<<<
@@ -68598,7 +70006,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3563
+ /* "dependency_injector/providers.pyx":3642
* """Shutdown resource."""
* if not self.__initialized:
* if self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
@@ -68607,7 +70015,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
}
- /* "dependency_injector/providers.pyx":3567
+ /* "dependency_injector/providers.pyx":3646
* result.set_result(None)
* return result
* return # <<<<<<<<<<<<<<
@@ -68618,7 +70026,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3562
+ /* "dependency_injector/providers.pyx":3641
* def shutdown(self):
* """Shutdown resource."""
* if not self.__initialized: # <<<<<<<<<<<<<<
@@ -68627,17 +70035,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
}
- /* "dependency_injector/providers.pyx":3569
+ /* "dependency_injector/providers.pyx":3648
* return
*
* if self.__shutdowner: # <<<<<<<<<<<<<<
* try:
* shutdown = self.__shutdowner(self.__resource)
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___shutdowner); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3569, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___shutdowner); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3648, __pyx_L1_error)
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3570
+ /* "dependency_injector/providers.pyx":3649
*
* if self.__shutdowner:
* try: # <<<<<<<<<<<<<<
@@ -68653,7 +70061,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__Pyx_XGOTREF(__pyx_t_7);
/*try:*/ {
- /* "dependency_injector/providers.pyx":3571
+ /* "dependency_injector/providers.pyx":3650
* if self.__shutdowner:
* try:
* shutdown = self.__shutdowner(self.__resource) # <<<<<<<<<<<<<<
@@ -68673,13 +70081,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_self->__pyx___resource) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->__pyx___resource);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3571, __pyx_L6_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3650, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_shutdown = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3570
+ /* "dependency_injector/providers.pyx":3649
*
* if self.__shutdowner:
* try: # <<<<<<<<<<<<<<
@@ -68688,7 +70096,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
}
- /* "dependency_injector/providers.pyx":3575
+ /* "dependency_injector/providers.pyx":3654
* pass
* else:
* if inspect.isawaitable(shutdown): # <<<<<<<<<<<<<<
@@ -68696,9 +70104,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*
*/
/*else:*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_inspect); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3575, __pyx_L8_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_inspect); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3654, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3575, __pyx_L8_except_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3654, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -68713,14 +70121,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_shutdown) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_shutdown);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3575, __pyx_L8_except_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3654, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3575, __pyx_L8_except_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3654, __pyx_L8_except_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3576
+ /* "dependency_injector/providers.pyx":3655
* else:
* if inspect.isawaitable(shutdown):
* return self._create_shutdown_future(shutdown) # <<<<<<<<<<<<<<
@@ -68728,7 +70136,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
* self.__resource = None
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_shutdown_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3576, __pyx_L8_except_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_shutdown_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3655, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -68742,14 +70150,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_shutdown) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_shutdown);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3576, __pyx_L8_except_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3655, __pyx_L8_except_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L9_except_return;
- /* "dependency_injector/providers.pyx":3575
+ /* "dependency_injector/providers.pyx":3654
* pass
* else:
* if inspect.isawaitable(shutdown): # <<<<<<<<<<<<<<
@@ -68767,7 +70175,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3572
+ /* "dependency_injector/providers.pyx":3651
* try:
* shutdown = self.__shutdowner(self.__resource)
* except StopIteration: # <<<<<<<<<<<<<<
@@ -68782,7 +70190,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
goto __pyx_L8_except_error;
__pyx_L8_except_error:;
- /* "dependency_injector/providers.pyx":3570
+ /* "dependency_injector/providers.pyx":3649
*
* if self.__shutdowner:
* try: # <<<<<<<<<<<<<<
@@ -68808,7 +70216,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__pyx_L11_try_end:;
}
- /* "dependency_injector/providers.pyx":3569
+ /* "dependency_injector/providers.pyx":3648
* return
*
* if self.__shutdowner: # <<<<<<<<<<<<<<
@@ -68817,7 +70225,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
}
- /* "dependency_injector/providers.pyx":3578
+ /* "dependency_injector/providers.pyx":3657
* return self._create_shutdown_future(shutdown)
*
* self.__resource = None # <<<<<<<<<<<<<<
@@ -68830,7 +70238,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = Py_None;
- /* "dependency_injector/providers.pyx":3579
+ /* "dependency_injector/providers.pyx":3658
*
* self.__resource = None
* self.__initialized = False # <<<<<<<<<<<<<<
@@ -68839,7 +70247,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
__pyx_v_self->__pyx___initialized = 0;
- /* "dependency_injector/providers.pyx":3580
+ /* "dependency_injector/providers.pyx":3659
* self.__resource = None
* self.__initialized = False
* self.__shutdowner = None # <<<<<<<<<<<<<<
@@ -68852,14 +70260,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__Pyx_DECREF(__pyx_v_self->__pyx___shutdowner);
__pyx_v_self->__pyx___shutdowner = Py_None;
- /* "dependency_injector/providers.pyx":3582
+ /* "dependency_injector/providers.pyx":3661
* self.__shutdowner = None
*
* if self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
* result = asyncio.Future()
* result.set_result(None)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3582, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_mode_enabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -68873,23 +70281,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3582, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3582, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3661, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3583
+ /* "dependency_injector/providers.pyx":3662
*
* if self.is_async_mode_enabled():
* result = asyncio.Future() # <<<<<<<<<<<<<<
* result.set_result(None)
* return result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3583, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3583, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -68904,20 +70312,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3583, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3584
+ /* "dependency_injector/providers.pyx":3663
* if self.is_async_mode_enabled():
* result = asyncio.Future()
* result.set_result(None) # <<<<<<<<<<<<<<
* return result
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3584, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -68931,12 +70339,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_4, Py_None);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3584, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3585
+ /* "dependency_injector/providers.pyx":3664
* result = asyncio.Future()
* result.set_result(None)
* return result # <<<<<<<<<<<<<<
@@ -68948,7 +70356,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3582
+ /* "dependency_injector/providers.pyx":3661
* self.__shutdowner = None
*
* if self.is_async_mode_enabled(): # <<<<<<<<<<<<<<
@@ -68957,7 +70365,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
*/
}
- /* "dependency_injector/providers.pyx":3560
+ /* "dependency_injector/providers.pyx":3639
* return self.__call__()
*
* def shutdown(self): # <<<<<<<<<<<<<<
@@ -68983,7 +70391,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_22shutdown(
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3588
+/* "dependency_injector/providers.pyx":3667
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -69016,7 +70424,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_7related___
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_15___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3588, __pyx_L1_error)
+ __PYX_ERR(1, 3667, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -69024,7 +70432,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_7related___
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Resource_7related_2generator13, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Resource___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3588, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Resource_7related_2generator13, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Resource___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3667, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -69064,25 +70472,25 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3588, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3667, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3590
+ /* "dependency_injector/providers.pyx":3669
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides]) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -69090,7 +70498,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3);
@@ -69104,27 +70512,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3590, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3669, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3590, __pyx_L1_error)
+ else __PYX_ERR(1, 3669, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3591
+ /* "dependency_injector/providers.pyx":3670
* """Return related providers generator."""
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3591, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3591, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3591, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
@@ -69132,7 +70540,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
__pyx_t_3 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3591, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -69146,27 +70554,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3591, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3670, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3591, __pyx_L1_error)
+ else __PYX_ERR(1, 3670, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3592
+ /* "dependency_injector/providers.pyx":3671
* yield from filter(is_provider, [self.provides])
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -69181,10 +70589,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
@@ -69192,7 +70600,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -69206,23 +70614,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3592, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3671, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3592, __pyx_L1_error)
+ else __PYX_ERR(1, 3671, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3593
+ /* "dependency_injector/providers.pyx":3672
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3593, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource));
@@ -69230,10 +70638,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3593, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3593, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3672, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -69247,17 +70655,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L7_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3593, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3672, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3593, __pyx_L1_error)
+ else __PYX_ERR(1, 3672, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3588
+ /* "dependency_injector/providers.pyx":3667
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -69285,7 +70693,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Resource_7related_2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3595
+/* "dependency_injector/providers.pyx":3674
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -69320,7 +70728,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Resource_25_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -69340,7 +70748,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -69348,13 +70756,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -69365,7 +70773,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -69388,7 +70796,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
#endif
}
- /* "dependency_injector/providers.pyx":3596
+ /* "dependency_injector/providers.pyx":3675
*
* cpdef object _provide(self, tuple args, dict kwargs):
* if self.__initialized: # <<<<<<<<<<<<<<
@@ -69398,7 +70806,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_7 = (__pyx_v_self->__pyx___initialized != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3597
+ /* "dependency_injector/providers.pyx":3676
* cpdef object _provide(self, tuple args, dict kwargs):
* if self.__initialized:
* return self.__resource # <<<<<<<<<<<<<<
@@ -69410,7 +70818,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_r = __pyx_v_self->__pyx___resource;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3596
+ /* "dependency_injector/providers.pyx":3675
*
* cpdef object _provide(self, tuple args, dict kwargs):
* if self.__initialized: # <<<<<<<<<<<<<<
@@ -69419,14 +70827,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
}
- /* "dependency_injector/providers.pyx":3599
+ /* "dependency_injector/providers.pyx":3678
* return self.__resource
*
* if self._is_resource_subclass(self.__provides): # <<<<<<<<<<<<<<
* initializer = self.__provides()
* self.__resource = __call(
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_resource_subclass); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3599, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_resource_subclass); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -69440,14 +70848,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self->__pyx___provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self->__pyx___provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3599, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3599, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3678, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3600
+ /* "dependency_injector/providers.pyx":3679
*
* if self._is_resource_subclass(self.__provides):
* initializer = self.__provides() # <<<<<<<<<<<<<<
@@ -69467,23 +70875,23 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3600, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_initializer = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3602
+ /* "dependency_injector/providers.pyx":3681
* initializer = self.__provides()
* self.__resource = __call(
* initializer.init, # <<<<<<<<<<<<<<
* args,
* self.__args,
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_init_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3602, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_init_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3681, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":3604
+ /* "dependency_injector/providers.pyx":3683
* initializer.init,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -69493,7 +70901,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3607
+ /* "dependency_injector/providers.pyx":3686
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -69503,14 +70911,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_3 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":3601
+ /* "dependency_injector/providers.pyx":3680
* if self._is_resource_subclass(self.__provides):
* initializer = self.__provides()
* self.__resource = __call( # <<<<<<<<<<<<<<
* initializer.init,
* args,
*/
- __pyx_t_6 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3601, __pyx_L1_error)
+ __pyx_t_6 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3680, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -69521,14 +70929,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_self->__pyx___resource = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3610
+ /* "dependency_injector/providers.pyx":3689
* self.__kwargs_len,
* )
* self.__shutdowner = initializer.shutdown # <<<<<<<<<<<<<<
* elif self._is_async_resource_subclass(self.__provides):
* initializer = self.__provides()
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3610, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_v_self->__pyx___shutdowner);
@@ -69536,7 +70944,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_self->__pyx___shutdowner = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3599
+ /* "dependency_injector/providers.pyx":3678
* return self.__resource
*
* if self._is_resource_subclass(self.__provides): # <<<<<<<<<<<<<<
@@ -69546,14 +70954,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
goto __pyx_L4;
}
- /* "dependency_injector/providers.pyx":3611
+ /* "dependency_injector/providers.pyx":3690
* )
* self.__shutdowner = initializer.shutdown
* elif self._is_async_resource_subclass(self.__provides): # <<<<<<<<<<<<<<
* initializer = self.__provides()
* async_init = __call(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_resource_subclass); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3611, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_async_resource_subclass); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -69567,14 +70975,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_self->__pyx___provides) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self->__pyx___provides);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3611, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3611, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3690, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3612
+ /* "dependency_injector/providers.pyx":3691
* self.__shutdowner = initializer.shutdown
* elif self._is_async_resource_subclass(self.__provides):
* initializer = self.__provides() # <<<<<<<<<<<<<<
@@ -69594,23 +71002,23 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3612, __pyx_L1_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_initializer = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3614
+ /* "dependency_injector/providers.pyx":3693
* initializer = self.__provides()
* async_init = __call(
* initializer.init, # <<<<<<<<<<<<<<
* args,
* self.__args,
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_init_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3614, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_init_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3693, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":3616
+ /* "dependency_injector/providers.pyx":3695
* initializer.init,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -69620,7 +71028,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_3 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":3619
+ /* "dependency_injector/providers.pyx":3698
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -69630,14 +71038,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3613
+ /* "dependency_injector/providers.pyx":3692
* elif self._is_async_resource_subclass(self.__provides):
* initializer = self.__provides()
* async_init = __call( # <<<<<<<<<<<<<<
* initializer.init,
* args,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_6, __pyx_v_args, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3613, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_6, __pyx_v_args, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -69645,7 +71053,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_async_init = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3622
+ /* "dependency_injector/providers.pyx":3701
* self.__kwargs_len,
* )
* self.__initialized = True # <<<<<<<<<<<<<<
@@ -69654,7 +71062,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
__pyx_v_self->__pyx___initialized = 1;
- /* "dependency_injector/providers.pyx":3623
+ /* "dependency_injector/providers.pyx":3702
* )
* self.__initialized = True
* return self._create_init_future(async_init, initializer.shutdown) # <<<<<<<<<<<<<<
@@ -69662,9 +71070,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
* initializer = __call(
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_shutdown); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_5 = 0;
@@ -69681,7 +71089,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_async_init, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -69690,14 +71098,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_async_init, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -69708,7 +71116,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3623, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3702, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
@@ -69717,7 +71125,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3611
+ /* "dependency_injector/providers.pyx":3690
* )
* self.__shutdowner = initializer.shutdown
* elif self._is_async_resource_subclass(self.__provides): # <<<<<<<<<<<<<<
@@ -69726,16 +71134,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
}
- /* "dependency_injector/providers.pyx":3624
+ /* "dependency_injector/providers.pyx":3703
* self.__initialized = True
* return self._create_init_future(async_init, initializer.shutdown)
* elif inspect.isgeneratorfunction(self.__provides): # <<<<<<<<<<<<<<
* initializer = __call(
* self.__provides,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_inspect); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3624, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_inspect); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isgeneratorfunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3624, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isgeneratorfunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -69750,14 +71158,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_self->__pyx___provides) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->__pyx___provides);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3624, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3624, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3703, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3626
+ /* "dependency_injector/providers.pyx":3705
* elif inspect.isgeneratorfunction(self.__provides):
* initializer = __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -69767,7 +71175,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":3628
+ /* "dependency_injector/providers.pyx":3707
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -69777,7 +71185,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_4 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":3631
+ /* "dependency_injector/providers.pyx":3710
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -69787,14 +71195,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3625
+ /* "dependency_injector/providers.pyx":3704
* return self._create_init_future(async_init, initializer.shutdown)
* elif inspect.isgeneratorfunction(self.__provides):
* initializer = __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3625, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -69802,14 +71210,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_initializer = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3634
+ /* "dependency_injector/providers.pyx":3713
* self.__kwargs_len,
* )
* self.__resource = next(initializer) # <<<<<<<<<<<<<<
* self.__shutdowner = initializer.send
* elif iscoroutinefunction(self.__provides):
*/
- __pyx_t_3 = __Pyx_PyIter_Next(__pyx_v_initializer); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3634, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyIter_Next(__pyx_v_initializer); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3713, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->__pyx___resource);
@@ -69817,14 +71225,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_self->__pyx___resource = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3635
+ /* "dependency_injector/providers.pyx":3714
* )
* self.__resource = next(initializer)
* self.__shutdowner = initializer.send # <<<<<<<<<<<<<<
* elif iscoroutinefunction(self.__provides):
* initializer = __call(
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_send); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3635, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_send); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->__pyx___shutdowner);
@@ -69832,7 +71240,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_self->__pyx___shutdowner = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3624
+ /* "dependency_injector/providers.pyx":3703
* self.__initialized = True
* return self._create_init_future(async_init, initializer.shutdown)
* elif inspect.isgeneratorfunction(self.__provides): # <<<<<<<<<<<<<<
@@ -69842,14 +71250,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
goto __pyx_L4;
}
- /* "dependency_injector/providers.pyx":3636
+ /* "dependency_injector/providers.pyx":3715
* self.__resource = next(initializer)
* self.__shutdowner = initializer.send
* elif iscoroutinefunction(self.__provides): # <<<<<<<<<<<<<<
* initializer = __call(
* self.__provides,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3636, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3715, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
@@ -69863,14 +71271,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_self->__pyx___provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self->__pyx___provides);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3636, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3715, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3636, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3715, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3638
+ /* "dependency_injector/providers.pyx":3717
* elif iscoroutinefunction(self.__provides):
* initializer = __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -69880,7 +71288,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_3 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":3640
+ /* "dependency_injector/providers.pyx":3719
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -69890,7 +71298,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3643
+ /* "dependency_injector/providers.pyx":3722
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -69900,14 +71308,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_4 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":3637
+ /* "dependency_injector/providers.pyx":3716
* self.__shutdowner = initializer.send
* elif iscoroutinefunction(self.__provides):
* initializer = __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_3, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3637, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_3, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -69915,7 +71323,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_initializer = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3646
+ /* "dependency_injector/providers.pyx":3725
* self.__kwargs_len,
* )
* self.__initialized = True # <<<<<<<<<<<<<<
@@ -69924,7 +71332,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
__pyx_v_self->__pyx___initialized = 1;
- /* "dependency_injector/providers.pyx":3647
+ /* "dependency_injector/providers.pyx":3726
* )
* self.__initialized = True
* return self._create_init_future(initializer) # <<<<<<<<<<<<<<
@@ -69932,7 +71340,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
* initializer = __call(
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3647, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3726, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -69946,14 +71354,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_initializer) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_initializer);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3647, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3726, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3636
+ /* "dependency_injector/providers.pyx":3715
* self.__resource = next(initializer)
* self.__shutdowner = initializer.send
* elif iscoroutinefunction(self.__provides): # <<<<<<<<<<<<<<
@@ -69962,14 +71370,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
}
- /* "dependency_injector/providers.pyx":3648
+ /* "dependency_injector/providers.pyx":3727
* self.__initialized = True
* return self._create_init_future(initializer)
* elif isasyncgenfunction(self.__provides): # <<<<<<<<<<<<<<
* initializer = __call(
* self.__provides,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3648, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -69983,14 +71391,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_self->__pyx___provides) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->__pyx___provides);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3648, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3648, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(1, 3727, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3650
+ /* "dependency_injector/providers.pyx":3729
* elif isasyncgenfunction(self.__provides):
* initializer = __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -70000,7 +71408,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":3652
+ /* "dependency_injector/providers.pyx":3731
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -70010,7 +71418,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_4 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":3655
+ /* "dependency_injector/providers.pyx":3734
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -70020,14 +71428,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3649
+ /* "dependency_injector/providers.pyx":3728
* return self._create_init_future(initializer)
* elif isasyncgenfunction(self.__provides):
* initializer = __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3649, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -70035,7 +71443,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_initializer = __pyx_t_3;
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3658
+ /* "dependency_injector/providers.pyx":3737
* self.__kwargs_len,
* )
* self.__initialized = True # <<<<<<<<<<<<<<
@@ -70044,7 +71452,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
__pyx_v_self->__pyx___initialized = 1;
- /* "dependency_injector/providers.pyx":3659
+ /* "dependency_injector/providers.pyx":3738
* )
* self.__initialized = True
* return self._create_async_gen_init_future(initializer) # <<<<<<<<<<<<<<
@@ -70052,7 +71460,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
* self.__resource = __call(
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_async_gen_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3659, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_async_gen_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -70066,14 +71474,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_initializer) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_initializer);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3659, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3648
+ /* "dependency_injector/providers.pyx":3727
* self.__initialized = True
* return self._create_init_future(initializer)
* elif isasyncgenfunction(self.__provides): # <<<<<<<<<<<<<<
@@ -70082,7 +71490,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
}
- /* "dependency_injector/providers.pyx":3660
+ /* "dependency_injector/providers.pyx":3739
* self.__initialized = True
* return self._create_async_gen_init_future(initializer)
* elif callable(self.__provides): # <<<<<<<<<<<<<<
@@ -70091,12 +71499,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
__pyx_t_3 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_7 = __Pyx_PyCallable_Check(__pyx_t_3); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 3660, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyCallable_Check(__pyx_t_3); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 3739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_8 = (__pyx_t_7 != 0);
if (likely(__pyx_t_8)) {
- /* "dependency_injector/providers.pyx":3662
+ /* "dependency_injector/providers.pyx":3741
* elif callable(self.__provides):
* self.__resource = __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -70106,7 +71514,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_3 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":3664
+ /* "dependency_injector/providers.pyx":3743
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -70116,7 +71524,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_2 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":3667
+ /* "dependency_injector/providers.pyx":3746
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -70126,14 +71534,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_t_4 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":3661
+ /* "dependency_injector/providers.pyx":3740
* return self._create_async_gen_init_future(initializer)
* elif callable(self.__provides):
* self.__resource = __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_3, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3661, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_3, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -70144,7 +71552,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_v_self->__pyx___resource = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3660
+ /* "dependency_injector/providers.pyx":3739
* self.__initialized = True
* return self._create_async_gen_init_future(initializer)
* elif callable(self.__provides): # <<<<<<<<<<<<<<
@@ -70154,7 +71562,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
goto __pyx_L4;
}
- /* "dependency_injector/providers.pyx":3671
+ /* "dependency_injector/providers.pyx":3750
* )
* else:
* raise Error('Unknown type of resource initializer') # <<<<<<<<<<<<<<
@@ -70162,7 +71570,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
* self.__initialized = True
*/
/*else*/ {
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3671, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -70176,16 +71584,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_s_Unknown_type_of_resource_initial) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Unknown_type_of_resource_initial);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3671, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 3671, __pyx_L1_error)
+ __PYX_ERR(1, 3750, __pyx_L1_error)
}
__pyx_L4:;
- /* "dependency_injector/providers.pyx":3673
+ /* "dependency_injector/providers.pyx":3752
* raise Error('Unknown type of resource initializer')
*
* self.__initialized = True # <<<<<<<<<<<<<<
@@ -70194,7 +71602,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
*/
__pyx_v_self->__pyx___initialized = 1;
- /* "dependency_injector/providers.pyx":3674
+ /* "dependency_injector/providers.pyx":3753
*
* self.__initialized = True
* return self.__resource # <<<<<<<<<<<<<<
@@ -70206,7 +71614,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Resource__provide(str
__pyx_r = __pyx_v_self->__pyx___resource;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3595
+ /* "dependency_injector/providers.pyx":3674
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -70265,11 +71673,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_25_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3595, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3674, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3595, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3674, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -70282,14 +71690,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_25_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3595, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3674, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3595, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3595, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3674, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3674, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Resource_24_provide(((struct __pyx_obj_19dependency_injector_9providers_Resource *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -70310,7 +71718,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_24_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Resource__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3595, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Resource__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -70327,7 +71735,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_24_provide(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3676
+/* "dependency_injector/providers.pyx":3755
* return self.__resource
*
* def _create_init_future(self, future, shutdowner=None): # <<<<<<<<<<<<<<
@@ -70374,7 +71782,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_27_create_i
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_create_init_future") < 0)) __PYX_ERR(1, 3676, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_create_init_future") < 0)) __PYX_ERR(1, 3755, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -70390,7 +71798,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_27_create_i
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_create_init_future", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3676, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_create_init_future", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3755, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._create_init_future", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -70418,49 +71826,49 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
__Pyx_RefNannySetupContext("_create_init_future", 0);
__Pyx_INCREF(__pyx_v_future);
- /* "dependency_injector/providers.pyx":3677
+ /* "dependency_injector/providers.pyx":3756
*
* def _create_init_future(self, future, shutdowner=None):
* callback = self._async_init_callback # <<<<<<<<<<<<<<
* if shutdowner:
* callback = functools.partial(callback, shutdowner=shutdowner)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3677, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_init_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_callback = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3678
+ /* "dependency_injector/providers.pyx":3757
* def _create_init_future(self, future, shutdowner=None):
* callback = self._async_init_callback
* if shutdowner: # <<<<<<<<<<<<<<
* callback = functools.partial(callback, shutdowner=shutdowner)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_shutdowner); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3678, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_shutdowner); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3757, __pyx_L1_error)
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":3679
+ /* "dependency_injector/providers.pyx":3758
* callback = self._async_init_callback
* if shutdowner:
* callback = functools.partial(callback, shutdowner=shutdowner) # <<<<<<<<<<<<<<
*
* future = asyncio.ensure_future(future)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_functools); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3679, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_functools); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_partial); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3679, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_partial); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3679, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_callback);
__Pyx_GIVEREF(__pyx_v_callback);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_callback);
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3679, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_shutdowner, __pyx_v_shutdowner) < 0) __PYX_ERR(1, 3679, __pyx_L1_error)
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3679, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_shutdowner, __pyx_v_shutdowner) < 0) __PYX_ERR(1, 3758, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3758, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -70468,7 +71876,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
__Pyx_DECREF_SET(__pyx_v_callback, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3678
+ /* "dependency_injector/providers.pyx":3757
* def _create_init_future(self, future, shutdowner=None):
* callback = self._async_init_callback
* if shutdowner: # <<<<<<<<<<<<<<
@@ -70477,16 +71885,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
*/
}
- /* "dependency_injector/providers.pyx":3681
+ /* "dependency_injector/providers.pyx":3760
* callback = functools.partial(callback, shutdowner=shutdowner)
*
* future = asyncio.ensure_future(future) # <<<<<<<<<<<<<<
* future.add_done_callback(callback)
* self.__resource = future
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3681, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3681, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -70501,20 +71909,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_future) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_future);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3681, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_future, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3682
+ /* "dependency_injector/providers.pyx":3761
*
* future = asyncio.ensure_future(future)
* future.add_done_callback(callback) # <<<<<<<<<<<<<<
* self.__resource = future
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3682, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3761, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -70528,12 +71936,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
}
__pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_callback) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_callback);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3682, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3761, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3683
+ /* "dependency_injector/providers.pyx":3762
* future = asyncio.ensure_future(future)
* future.add_done_callback(callback)
* self.__resource = future # <<<<<<<<<<<<<<
@@ -70546,7 +71954,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = __pyx_v_future;
- /* "dependency_injector/providers.pyx":3685
+ /* "dependency_injector/providers.pyx":3764
* self.__resource = future
*
* return future # <<<<<<<<<<<<<<
@@ -70558,7 +71966,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
__pyx_r = __pyx_v_future;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3676
+ /* "dependency_injector/providers.pyx":3755
* return self.__resource
*
* def _create_init_future(self, future, shutdowner=None): # <<<<<<<<<<<<<<
@@ -70582,7 +71990,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_26_create_i
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3687
+/* "dependency_injector/providers.pyx":3766
* return future
*
* def _create_async_gen_init_future(self, initializer): # <<<<<<<<<<<<<<
@@ -70622,16 +72030,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_create_async_gen_init_future", 0);
- /* "dependency_injector/providers.pyx":3688
+ /* "dependency_injector/providers.pyx":3767
*
* def _create_async_gen_init_future(self, initializer):
* if inspect.isasyncgen(initializer): # <<<<<<<<<<<<<<
* return self._create_init_future(initializer.__anext__(), initializer.asend)
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_inspect); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3688, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_inspect); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3767, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isasyncgen); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3688, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isasyncgen); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3767, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -70646,14 +72054,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_initializer) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_initializer);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3688, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3767, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 3688, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 3767, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_4) {
- /* "dependency_injector/providers.pyx":3689
+ /* "dependency_injector/providers.pyx":3768
* def _create_async_gen_init_future(self, initializer):
* if inspect.isasyncgen(initializer):
* return self._create_init_future(initializer.__anext__(), initializer.asend) # <<<<<<<<<<<<<<
@@ -70661,9 +72069,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
* future = asyncio.Future()
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_anext); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_anext); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -70677,10 +72085,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_asend); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_asend); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
@@ -70697,7 +72105,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_5};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -70707,7 +72115,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_5};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -70715,7 +72123,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -70726,7 +72134,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_5);
__pyx_t_2 = 0;
__pyx_t_5 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3689, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3768, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -70735,7 +72143,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3688
+ /* "dependency_injector/providers.pyx":3767
*
* def _create_async_gen_init_future(self, initializer):
* if inspect.isasyncgen(initializer): # <<<<<<<<<<<<<<
@@ -70744,16 +72152,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
*/
}
- /* "dependency_injector/providers.pyx":3691
+ /* "dependency_injector/providers.pyx":3770
* return self._create_init_future(initializer.__anext__(), initializer.asend)
*
* future = asyncio.Future() # <<<<<<<<<<<<<<
*
* create_initializer = asyncio.ensure_future(initializer)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3691, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3691, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Future); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -70768,22 +72176,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3691, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_future = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3693
+ /* "dependency_injector/providers.pyx":3772
* future = asyncio.Future()
*
* create_initializer = asyncio.ensure_future(initializer) # <<<<<<<<<<<<<<
* create_initializer.add_done_callback(functools.partial(self._async_create_gen_callback, future))
* self.__resource = future
*/
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3693, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3772, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3693, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3772, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
@@ -70798,27 +72206,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_v_initializer) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_initializer);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3693, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3772, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_create_initializer = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3694
+ /* "dependency_injector/providers.pyx":3773
*
* create_initializer = asyncio.ensure_future(initializer)
* create_initializer.add_done_callback(functools.partial(self._async_create_gen_callback, future)) # <<<<<<<<<<<<<<
* self.__resource = future
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_initializer, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_initializer, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_create_gen_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_create_gen_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
@@ -70835,7 +72243,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_future};
- __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -70844,14 +72252,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_future};
- __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -70862,7 +72270,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
__Pyx_GIVEREF(__pyx_v_future);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_v_future);
__pyx_t_5 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -70880,12 +72288,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3694, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3773, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3695
+ /* "dependency_injector/providers.pyx":3774
* create_initializer = asyncio.ensure_future(initializer)
* create_initializer.add_done_callback(functools.partial(self._async_create_gen_callback, future))
* self.__resource = future # <<<<<<<<<<<<<<
@@ -70898,7 +72306,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = __pyx_v_future;
- /* "dependency_injector/providers.pyx":3697
+ /* "dependency_injector/providers.pyx":3776
* self.__resource = future
*
* return future # <<<<<<<<<<<<<<
@@ -70910,7 +72318,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
__pyx_r = __pyx_v_future;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3687
+ /* "dependency_injector/providers.pyx":3766
* return future
*
* def _create_async_gen_init_future(self, initializer): # <<<<<<<<<<<<<<
@@ -70937,7 +72345,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_28_create_a
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3699
+/* "dependency_injector/providers.pyx":3778
* return future
*
* def _async_init_callback(self, initializer, shutdowner=None): # <<<<<<<<<<<<<<
@@ -70984,7 +72392,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_31_async_in
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_callback") < 0)) __PYX_ERR(1, 3699, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_init_callback") < 0)) __PYX_ERR(1, 3778, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -71000,7 +72408,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_31_async_in
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_init_callback", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3699, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_init_callback", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3778, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._async_init_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -71029,7 +72437,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_init_callback", 0);
- /* "dependency_injector/providers.pyx":3700
+ /* "dependency_injector/providers.pyx":3779
*
* def _async_init_callback(self, initializer, shutdowner=None):
* try: # <<<<<<<<<<<<<<
@@ -71045,14 +72453,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":3701
+ /* "dependency_injector/providers.pyx":3780
* def _async_init_callback(self, initializer, shutdowner=None):
* try:
* resource = initializer.result() # <<<<<<<<<<<<<<
* except Exception:
* self.__initialized = False
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3701, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3780, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -71066,13 +72474,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3701, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3780, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_resource = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3700
+ /* "dependency_injector/providers.pyx":3779
*
* def _async_init_callback(self, initializer, shutdowner=None):
* try: # <<<<<<<<<<<<<<
@@ -71081,7 +72489,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
*/
}
- /* "dependency_injector/providers.pyx":3705
+ /* "dependency_injector/providers.pyx":3784
* self.__initialized = False
* else:
* self.__resource = resource # <<<<<<<<<<<<<<
@@ -71095,7 +72503,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = __pyx_v_resource;
- /* "dependency_injector/providers.pyx":3706
+ /* "dependency_injector/providers.pyx":3785
* else:
* self.__resource = resource
* self.__shutdowner = shutdowner # <<<<<<<<<<<<<<
@@ -71117,7 +72525,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3702
+ /* "dependency_injector/providers.pyx":3781
* try:
* resource = initializer.result()
* except Exception: # <<<<<<<<<<<<<<
@@ -71127,12 +72535,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.Resource._async_init_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 3702, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(1, 3781, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
- /* "dependency_injector/providers.pyx":3703
+ /* "dependency_injector/providers.pyx":3782
* resource = initializer.result()
* except Exception:
* self.__initialized = False # <<<<<<<<<<<<<<
@@ -71148,7 +72556,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":3700
+ /* "dependency_injector/providers.pyx":3779
*
* def _async_init_callback(self, initializer, shutdowner=None):
* try: # <<<<<<<<<<<<<<
@@ -71168,7 +72576,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":3699
+ /* "dependency_injector/providers.pyx":3778
* return future
*
* def _async_init_callback(self, initializer, shutdowner=None): # <<<<<<<<<<<<<<
@@ -71192,7 +72600,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_30_async_in
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3708
+/* "dependency_injector/providers.pyx":3787
* self.__shutdowner = shutdowner
*
* def _async_create_gen_callback(self, future, initializer_future): # <<<<<<<<<<<<<<
@@ -71234,11 +72642,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_33_async_cr
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_initializer_future)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_create_gen_callback", 1, 2, 2, 1); __PYX_ERR(1, 3708, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_create_gen_callback", 1, 2, 2, 1); __PYX_ERR(1, 3787, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_create_gen_callback") < 0)) __PYX_ERR(1, 3708, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_create_gen_callback") < 0)) __PYX_ERR(1, 3787, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -71251,7 +72659,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_33_async_cr
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_create_gen_callback", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3708, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_create_gen_callback", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3787, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._async_create_gen_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -71282,14 +72690,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_create_gen_callback", 0);
- /* "dependency_injector/providers.pyx":3709
+ /* "dependency_injector/providers.pyx":3788
*
* def _async_create_gen_callback(self, future, initializer_future):
* initializer = initializer_future.result() # <<<<<<<<<<<<<<
* init_future = self._create_init_future(initializer.__anext__(), initializer.asend)
* init_future.add_done_callback(functools.partial(self._async_trigger_result, future))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer_future, __pyx_n_s_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3709, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer_future, __pyx_n_s_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3788, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -71303,22 +72711,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3709, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3788, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_initializer = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3710
+ /* "dependency_injector/providers.pyx":3789
* def _async_create_gen_callback(self, future, initializer_future):
* initializer = initializer_future.result()
* init_future = self._create_init_future(initializer.__anext__(), initializer.asend) # <<<<<<<<<<<<<<
* init_future.add_done_callback(functools.partial(self._async_trigger_result, future))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create_init_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_anext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_anext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -71332,10 +72740,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_asend); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initializer, __pyx_n_s_asend); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
@@ -71352,7 +72760,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_4};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -71362,7 +72770,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_4};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -71370,7 +72778,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -71381,7 +72789,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_4);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3710, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3789, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -71389,21 +72797,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
__pyx_v_init_future = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3711
+ /* "dependency_injector/providers.pyx":3790
* initializer = initializer_future.result()
* init_future = self._create_init_future(initializer.__anext__(), initializer.asend)
* init_future.add_done_callback(functools.partial(self._async_trigger_result, future)) # <<<<<<<<<<<<<<
*
* def _async_trigger_result(self, future, future_result):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_functools); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_functools); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_partial); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_partial); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_trigger_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_trigger_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
@@ -71420,7 +72828,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_future};
- __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -71429,14 +72837,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_future};
- __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -71447,7 +72855,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
__Pyx_GIVEREF(__pyx_v_future);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_future);
__pyx_t_4 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -71465,12 +72873,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3711, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3708
+ /* "dependency_injector/providers.pyx":3787
* self.__shutdowner = shutdowner
*
* def _async_create_gen_callback(self, future, initializer_future): # <<<<<<<<<<<<<<
@@ -71499,7 +72907,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_32_async_cr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3713
+/* "dependency_injector/providers.pyx":3792
* init_future.add_done_callback(functools.partial(self._async_trigger_result, future))
*
* def _async_trigger_result(self, future, future_result): # <<<<<<<<<<<<<<
@@ -71541,11 +72949,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_35_async_tr
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future_result)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_trigger_result", 1, 2, 2, 1); __PYX_ERR(1, 3713, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_trigger_result", 1, 2, 2, 1); __PYX_ERR(1, 3792, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_trigger_result") < 0)) __PYX_ERR(1, 3713, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_trigger_result") < 0)) __PYX_ERR(1, 3792, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -71558,7 +72966,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_35_async_tr
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_trigger_result", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3713, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_trigger_result", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3792, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._async_trigger_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -71584,16 +72992,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_34_async_tr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_trigger_result", 0);
- /* "dependency_injector/providers.pyx":3714
+ /* "dependency_injector/providers.pyx":3793
*
* def _async_trigger_result(self, future, future_result):
* future.set_result(future_result.result()) # <<<<<<<<<<<<<<
*
* def _create_shutdown_future(self, shutdown_future):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_set_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3714, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_set_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3714, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -71607,7 +73015,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_34_async_tr
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3714, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -71623,12 +73031,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_34_async_tr
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3714, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3713
+ /* "dependency_injector/providers.pyx":3792
* init_future.add_done_callback(functools.partial(self._async_trigger_result, future))
*
* def _async_trigger_result(self, future, future_result): # <<<<<<<<<<<<<<
@@ -71653,7 +73061,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_34_async_tr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3716
+/* "dependency_injector/providers.pyx":3795
* future.set_result(future_result.result())
*
* def _create_shutdown_future(self, shutdown_future): # <<<<<<<<<<<<<<
@@ -71692,16 +73100,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
__Pyx_RefNannySetupContext("_create_shutdown_future", 0);
__Pyx_INCREF(__pyx_v_shutdown_future);
- /* "dependency_injector/providers.pyx":3717
+ /* "dependency_injector/providers.pyx":3796
*
* def _create_shutdown_future(self, shutdown_future):
* future = asyncio.Future() # <<<<<<<<<<<<<<
* shutdown_future = asyncio.ensure_future(shutdown_future)
* shutdown_future.add_done_callback(functools.partial(self._async_shutdown_callback, future))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3717, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3717, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -71716,22 +73124,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3717, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3718
+ /* "dependency_injector/providers.pyx":3797
* def _create_shutdown_future(self, shutdown_future):
* future = asyncio.Future()
* shutdown_future = asyncio.ensure_future(shutdown_future) # <<<<<<<<<<<<<<
* shutdown_future.add_done_callback(functools.partial(self._async_shutdown_callback, future))
* return future
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3718, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3718, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -71746,27 +73154,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_shutdown_future) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_shutdown_future);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3718, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_shutdown_future, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3719
+ /* "dependency_injector/providers.pyx":3798
* future = asyncio.Future()
* shutdown_future = asyncio.ensure_future(shutdown_future)
* shutdown_future.add_done_callback(functools.partial(self._async_shutdown_callback, future)) # <<<<<<<<<<<<<<
* return future
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_shutdown_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_shutdown_future, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_functools); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_functools); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_partial); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_partial); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_shutdown_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_shutdown_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
@@ -71783,7 +73191,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_4, __pyx_v_future};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -71792,14 +73200,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_4, __pyx_v_future};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -71810,7 +73218,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
__Pyx_GIVEREF(__pyx_v_future);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_future);
__pyx_t_4 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -71828,12 +73236,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3719, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3798, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3720
+ /* "dependency_injector/providers.pyx":3799
* shutdown_future = asyncio.ensure_future(shutdown_future)
* shutdown_future.add_done_callback(functools.partial(self._async_shutdown_callback, future))
* return future # <<<<<<<<<<<<<<
@@ -71845,7 +73253,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
__pyx_r = __pyx_v_future;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3716
+ /* "dependency_injector/providers.pyx":3795
* future.set_result(future_result.result())
*
* def _create_shutdown_future(self, shutdown_future): # <<<<<<<<<<<<<<
@@ -71872,7 +73280,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_36_create_s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3722
+/* "dependency_injector/providers.pyx":3801
* return future
*
* def _async_shutdown_callback(self, future_result, shutdowner): # <<<<<<<<<<<<<<
@@ -71914,11 +73322,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_39_async_sh
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_shutdowner)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_shutdown_callback", 1, 2, 2, 1); __PYX_ERR(1, 3722, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_shutdown_callback", 1, 2, 2, 1); __PYX_ERR(1, 3801, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_shutdown_callback") < 0)) __PYX_ERR(1, 3722, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_shutdown_callback") < 0)) __PYX_ERR(1, 3801, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -71931,7 +73339,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_39_async_sh
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_shutdown_callback", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3722, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_shutdown_callback", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3801, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._async_shutdown_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -71959,7 +73367,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_shutdown_callback", 0);
- /* "dependency_injector/providers.pyx":3723
+ /* "dependency_injector/providers.pyx":3802
*
* def _async_shutdown_callback(self, future_result, shutdowner):
* try: # <<<<<<<<<<<<<<
@@ -71975,14 +73383,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":3724
+ /* "dependency_injector/providers.pyx":3803
* def _async_shutdown_callback(self, future_result, shutdowner):
* try:
* shutdowner.result() # <<<<<<<<<<<<<<
* except StopAsyncIteration:
* pass
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_shutdowner, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3724, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_shutdowner, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3803, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -71996,12 +73404,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3724, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3803, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3723
+ /* "dependency_injector/providers.pyx":3802
*
* def _async_shutdown_callback(self, future_result, shutdowner):
* try: # <<<<<<<<<<<<<<
@@ -72018,7 +73426,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3725
+ /* "dependency_injector/providers.pyx":3804
* try:
* shutdowner.result()
* except StopAsyncIteration: # <<<<<<<<<<<<<<
@@ -72033,7 +73441,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":3723
+ /* "dependency_injector/providers.pyx":3802
*
* def _async_shutdown_callback(self, future_result, shutdowner):
* try: # <<<<<<<<<<<<<<
@@ -72053,7 +73461,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":3728
+ /* "dependency_injector/providers.pyx":3807
* pass
*
* self.__resource = None # <<<<<<<<<<<<<<
@@ -72066,7 +73474,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
__Pyx_DECREF(__pyx_v_self->__pyx___resource);
__pyx_v_self->__pyx___resource = Py_None;
- /* "dependency_injector/providers.pyx":3729
+ /* "dependency_injector/providers.pyx":3808
*
* self.__resource = None
* self.__initialized = False # <<<<<<<<<<<<<<
@@ -72075,7 +73483,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
*/
__pyx_v_self->__pyx___initialized = 0;
- /* "dependency_injector/providers.pyx":3730
+ /* "dependency_injector/providers.pyx":3809
* self.__resource = None
* self.__initialized = False
* self.__shutdowner = None # <<<<<<<<<<<<<<
@@ -72088,14 +73496,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
__Pyx_DECREF(__pyx_v_self->__pyx___shutdowner);
__pyx_v_self->__pyx___shutdowner = Py_None;
- /* "dependency_injector/providers.pyx":3732
+ /* "dependency_injector/providers.pyx":3811
* self.__shutdowner = None
*
* future_result.set_result(None) # <<<<<<<<<<<<<<
*
* @staticmethod
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3732, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -72109,12 +73517,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_5, Py_None);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3732, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3722
+ /* "dependency_injector/providers.pyx":3801
* return future
*
* def _async_shutdown_callback(self, future_result, shutdowner): # <<<<<<<<<<<<<<
@@ -72137,7 +73545,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_38_async_sh
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3735
+/* "dependency_injector/providers.pyx":3814
*
* @staticmethod
* def _is_resource_subclass(instance): # <<<<<<<<<<<<<<
@@ -72175,7 +73583,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_41_is_resou
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_is_resource_subclass") < 0)) __PYX_ERR(1, 3735, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_is_resource_subclass") < 0)) __PYX_ERR(1, 3814, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -72186,7 +73594,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_41_is_resou
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_is_resource_subclass", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3735, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_is_resource_subclass", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3814, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._is_resource_subclass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -72212,25 +73620,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_is_resource_subclass", 0);
- /* "dependency_injector/providers.pyx":3736
+ /* "dependency_injector/providers.pyx":3815
* @staticmethod
* def _is_resource_subclass(instance):
* if sys.version_info < (3, 5): # <<<<<<<<<<<<<<
* return False
* if not isinstance(instance, CLASS_TYPES):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3736, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3736, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_tuple__29, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3736, __pyx_L1_error)
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_tuple__35, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3815, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3736, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3815, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":3737
+ /* "dependency_injector/providers.pyx":3816
* def _is_resource_subclass(instance):
* if sys.version_info < (3, 5):
* return False # <<<<<<<<<<<<<<
@@ -72242,7 +73650,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
__pyx_r = Py_False;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3736
+ /* "dependency_injector/providers.pyx":3815
* @staticmethod
* def _is_resource_subclass(instance):
* if sys.version_info < (3, 5): # <<<<<<<<<<<<<<
@@ -72251,7 +73659,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
*/
}
- /* "dependency_injector/providers.pyx":3738
+ /* "dependency_injector/providers.pyx":3817
* if sys.version_info < (3, 5):
* return False
* if not isinstance(instance, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -72260,12 +73668,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
*/
__pyx_t_1 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 3738, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 3817, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_4) {
- /* "dependency_injector/providers.pyx":3739
+ /* "dependency_injector/providers.pyx":3818
* return False
* if not isinstance(instance, CLASS_TYPES):
* return # <<<<<<<<<<<<<<
@@ -72276,7 +73684,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3738
+ /* "dependency_injector/providers.pyx":3817
* if sys.version_info < (3, 5):
* return False
* if not isinstance(instance, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -72285,29 +73693,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
*/
}
- /* "dependency_injector/providers.pyx":3740
+ /* "dependency_injector/providers.pyx":3819
* if not isinstance(instance, CLASS_TYPES):
* return
* from . import resources # <<<<<<<<<<<<<<
* return issubclass(instance, resources.Resource)
*
*/
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3740, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_resources);
__Pyx_GIVEREF(__pyx_n_s_resources);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_resources);
- __pyx_t_2 = __Pyx_Import(__pyx_kp_s__9, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3740, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_Import(__pyx_kp_s__9, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3740, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_1);
__pyx_v_resources = __pyx_t_1;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3741
+ /* "dependency_injector/providers.pyx":3820
* return
* from . import resources
* return issubclass(instance, resources.Resource) # <<<<<<<<<<<<<<
@@ -72315,17 +73723,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
* @staticmethod
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_Resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3741, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_Resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3820, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyObject_IsSubclass(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 3741, __pyx_L1_error)
+ __pyx_t_4 = PyObject_IsSubclass(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 3820, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3741, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3820, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3735
+ /* "dependency_injector/providers.pyx":3814
*
* @staticmethod
* def _is_resource_subclass(instance): # <<<<<<<<<<<<<<
@@ -72346,7 +73754,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_40_is_resou
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3744
+/* "dependency_injector/providers.pyx":3823
*
* @staticmethod
* def _is_async_resource_subclass(instance): # <<<<<<<<<<<<<<
@@ -72384,7 +73792,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_43_is_async
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_is_async_resource_subclass") < 0)) __PYX_ERR(1, 3744, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_is_async_resource_subclass") < 0)) __PYX_ERR(1, 3823, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -72395,7 +73803,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Resource_43_is_async
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_is_async_resource_subclass", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3744, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_is_async_resource_subclass", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3823, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Resource._is_async_resource_subclass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -72421,25 +73829,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_is_async_resource_subclass", 0);
- /* "dependency_injector/providers.pyx":3745
+ /* "dependency_injector/providers.pyx":3824
* @staticmethod
* def _is_async_resource_subclass(instance):
* if sys.version_info < (3, 5): # <<<<<<<<<<<<<<
* return False
* if not isinstance(instance, CLASS_TYPES):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3745, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3745, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3824, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_tuple__29, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3745, __pyx_L1_error)
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_tuple__35, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3824, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3745, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3824, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "dependency_injector/providers.pyx":3746
+ /* "dependency_injector/providers.pyx":3825
* def _is_async_resource_subclass(instance):
* if sys.version_info < (3, 5):
* return False # <<<<<<<<<<<<<<
@@ -72451,7 +73859,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
__pyx_r = Py_False;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3745
+ /* "dependency_injector/providers.pyx":3824
* @staticmethod
* def _is_async_resource_subclass(instance):
* if sys.version_info < (3, 5): # <<<<<<<<<<<<<<
@@ -72460,7 +73868,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
*/
}
- /* "dependency_injector/providers.pyx":3747
+ /* "dependency_injector/providers.pyx":3826
* if sys.version_info < (3, 5):
* return False
* if not isinstance(instance, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -72469,12 +73877,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
*/
__pyx_t_1 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 3747, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 3826, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_4) {
- /* "dependency_injector/providers.pyx":3748
+ /* "dependency_injector/providers.pyx":3827
* return False
* if not isinstance(instance, CLASS_TYPES):
* return # <<<<<<<<<<<<<<
@@ -72485,7 +73893,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3747
+ /* "dependency_injector/providers.pyx":3826
* if sys.version_info < (3, 5):
* return False
* if not isinstance(instance, CLASS_TYPES): # <<<<<<<<<<<<<<
@@ -72494,29 +73902,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
*/
}
- /* "dependency_injector/providers.pyx":3749
+ /* "dependency_injector/providers.pyx":3828
* if not isinstance(instance, CLASS_TYPES):
* return
* from . import resources # <<<<<<<<<<<<<<
* return issubclass(instance, resources.AsyncResource)
*
*/
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3749, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3828, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_resources);
__Pyx_GIVEREF(__pyx_n_s_resources);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_resources);
- __pyx_t_2 = __Pyx_Import(__pyx_kp_s__9, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3749, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_Import(__pyx_kp_s__9, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3828, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3749, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3828, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_1);
__pyx_v_resources = __pyx_t_1;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3750
+ /* "dependency_injector/providers.pyx":3829
* return
* from . import resources
* return issubclass(instance, resources.AsyncResource) # <<<<<<<<<<<<<<
@@ -72524,17 +73932,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_42_is_async
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_AsyncResource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3750, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_AsyncResource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3829, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyObject_IsSubclass(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 3750, __pyx_L1_error)
+ __pyx_t_4 = PyObject_IsSubclass(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 3829, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3750, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3829, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3744
+ /* "dependency_injector/providers.pyx":3823
*
* @staticmethod
* def _is_async_resource_subclass(instance): # <<<<<<<<<<<<<<
@@ -72946,7 +74354,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Resource_46__setstat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3760
+/* "dependency_injector/providers.pyx":3839
* """
*
* def __init__(self, container_cls=None, container=None, **overriding_providers): # <<<<<<<<<<<<<<
@@ -73003,7 +74411,7 @@ static int __pyx_pw_19dependency_injector_9providers_9Container_1__init__(PyObje
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3760, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_overriding_providers, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3839, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -73020,7 +74428,7 @@ static int __pyx_pw_19dependency_injector_9providers_9Container_1__init__(PyObje
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3760, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3839, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_overriding_providers); __pyx_v_overriding_providers = 0;
__Pyx_AddTraceback("dependency_injector.providers.Container.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -73050,7 +74458,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_container);
- /* "dependency_injector/providers.pyx":3762
+ /* "dependency_injector/providers.pyx":3841
* def __init__(self, container_cls=None, container=None, **overriding_providers):
* """Initialize provider."""
* self.__container_cls = container_cls # <<<<<<<<<<<<<<
@@ -73063,7 +74471,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_DECREF(__pyx_v_self->__pyx___container_cls);
__pyx_v_self->__pyx___container_cls = __pyx_v_container_cls;
- /* "dependency_injector/providers.pyx":3763
+ /* "dependency_injector/providers.pyx":3842
* """Initialize provider."""
* self.__container_cls = container_cls
* self.__overriding_providers = overriding_providers # <<<<<<<<<<<<<<
@@ -73076,7 +74484,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_DECREF(__pyx_v_self->__pyx___overriding_providers);
__pyx_v_self->__pyx___overriding_providers = __pyx_v_overriding_providers;
- /* "dependency_injector/providers.pyx":3765
+ /* "dependency_injector/providers.pyx":3844
* self.__overriding_providers = overriding_providers
*
* if container is None and container_cls: # <<<<<<<<<<<<<<
@@ -73090,12 +74498,12 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__pyx_t_1 = __pyx_t_3;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_container_cls); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3765, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_container_cls); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3844, __pyx_L1_error)
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3766
+ /* "dependency_injector/providers.pyx":3845
*
* if container is None and container_cls:
* container = container_cls() # <<<<<<<<<<<<<<
@@ -73115,20 +74523,20 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3766, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3845, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_container, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3767
+ /* "dependency_injector/providers.pyx":3846
* if container is None and container_cls:
* container = container_cls()
* container.assign_parent(self) # <<<<<<<<<<<<<<
* self.__container = container
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3767, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_container, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3846, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -73142,12 +74550,12 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_5, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3767, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3846, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3765
+ /* "dependency_injector/providers.pyx":3844
* self.__overriding_providers = overriding_providers
*
* if container is None and container_cls: # <<<<<<<<<<<<<<
@@ -73156,7 +74564,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
*/
}
- /* "dependency_injector/providers.pyx":3768
+ /* "dependency_injector/providers.pyx":3847
* container = container_cls()
* container.assign_parent(self)
* self.__container = container # <<<<<<<<<<<<<<
@@ -73169,32 +74577,32 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_DECREF(__pyx_v_self->__pyx___container);
__pyx_v_self->__pyx___container = __pyx_v_container;
- /* "dependency_injector/providers.pyx":3770
+ /* "dependency_injector/providers.pyx":3849
* self.__container = container
*
* if self.__container and self.__overriding_providers: # <<<<<<<<<<<<<<
* self.apply_overridings()
*
*/
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___container); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3770, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___container); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3849, __pyx_L1_error)
if (__pyx_t_3) {
} else {
__pyx_t_1 = __pyx_t_3;
goto __pyx_L7_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___overriding_providers); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3770, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___overriding_providers); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 3849, __pyx_L1_error)
__pyx_t_1 = __pyx_t_3;
__pyx_L7_bool_binop_done:;
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":3771
+ /* "dependency_injector/providers.pyx":3850
*
* if self.__container and self.__overriding_providers:
* self.apply_overridings() # <<<<<<<<<<<<<<
*
* self.__parent = None
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_apply_overridings); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3771, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_apply_overridings); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -73208,12 +74616,12 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3771, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3770
+ /* "dependency_injector/providers.pyx":3849
* self.__container = container
*
* if self.__container and self.__overriding_providers: # <<<<<<<<<<<<<<
@@ -73222,7 +74630,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
*/
}
- /* "dependency_injector/providers.pyx":3773
+ /* "dependency_injector/providers.pyx":3852
* self.apply_overridings()
*
* self.__parent = None # <<<<<<<<<<<<<<
@@ -73235,14 +74643,14 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = Py_None;
- /* "dependency_injector/providers.pyx":3775
+ /* "dependency_injector/providers.pyx":3854
* self.__parent = None
*
* super(Container, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3775, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
@@ -73250,10 +74658,10 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3775, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3775, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -73268,12 +74676,12 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3775, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3854, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3760
+ /* "dependency_injector/providers.pyx":3839
* """
*
* def __init__(self, container_cls=None, container=None, **overriding_providers): # <<<<<<<<<<<<<<
@@ -73296,7 +74704,7 @@ static int __pyx_pf_19dependency_injector_9providers_9Container___init__(struct
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3777
+/* "dependency_injector/providers.pyx":3856
* super(Container, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -73335,16 +74743,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":3781
+ /* "dependency_injector/providers.pyx":3860
* cdef Container copied
*
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3781, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3781, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -73359,14 +74767,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3781, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Container))))) __PYX_ERR(1, 3781, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Container))))) __PYX_ERR(1, 3860, __pyx_L1_error)
__pyx_v_copied = ((struct __pyx_obj_19dependency_injector_9providers_Container *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3782
+ /* "dependency_injector/providers.pyx":3861
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -73377,7 +74785,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":3783
+ /* "dependency_injector/providers.pyx":3862
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -73389,7 +74797,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3782
+ /* "dependency_injector/providers.pyx":3861
*
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -73398,15 +74806,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
*/
}
- /* "dependency_injector/providers.pyx":3785
+ /* "dependency_injector/providers.pyx":3864
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.__container_cls = self.__container_cls
* copied.__container = deepcopy(self.__container, memo)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3785, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3785, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3864, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3864, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
@@ -73414,7 +74822,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__Pyx_DECREF_SET(__pyx_v_copied, ((struct __pyx_obj_19dependency_injector_9providers_Container *)__pyx_t_2));
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3786
+ /* "dependency_injector/providers.pyx":3865
*
* copied = _memorized_duplicate(self, memo)
* copied.__container_cls = self.__container_cls # <<<<<<<<<<<<<<
@@ -73429,7 +74837,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_v_copied->__pyx___container_cls = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3787
+ /* "dependency_injector/providers.pyx":3866
* copied = _memorized_duplicate(self, memo)
* copied.__container_cls = self.__container_cls
* copied.__container = deepcopy(self.__container, memo) # <<<<<<<<<<<<<<
@@ -73438,10 +74846,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
*/
__pyx_t_2 = __pyx_v_self->__pyx___container;
__Pyx_INCREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3787, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3866, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3787, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3866, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
@@ -73450,7 +74858,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_v_copied->__pyx___container = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3788
+ /* "dependency_injector/providers.pyx":3867
* copied.__container_cls = self.__container_cls
* copied.__container = deepcopy(self.__container, memo)
* copied.__overriding_providers = deepcopy(self.__overriding_providers, memo) # <<<<<<<<<<<<<<
@@ -73459,27 +74867,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
*/
__pyx_t_1 = __pyx_v_self->__pyx___overriding_providers;
__Pyx_INCREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3788, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3867, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3788, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3867, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 3788, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 3867, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_copied->__pyx___overriding_providers);
__Pyx_DECREF(__pyx_v_copied->__pyx___overriding_providers);
__pyx_v_copied->__pyx___overriding_providers = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3789
+ /* "dependency_injector/providers.pyx":3868
* copied.__container = deepcopy(self.__container, memo)
* copied.__overriding_providers = deepcopy(self.__overriding_providers, memo)
* self._copy_parent(copied, memo) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3789, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
__pyx_t_8 = 0;
@@ -73496,7 +74904,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3789, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3868, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -73504,13 +74912,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_copied), __pyx_v_memo};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3789, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3868, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3789, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -73521,24 +74929,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_memo);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3789, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":3790
+ /* "dependency_injector/providers.pyx":3869
* copied.__overriding_providers = deepcopy(self.__overriding_providers, memo)
* self._copy_parent(copied, memo)
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3790, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3869, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Container *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":3791
+ /* "dependency_injector/providers.pyx":3870
* self._copy_parent(copied, memo)
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -73550,7 +74958,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
__pyx_r = ((PyObject *)__pyx_v_copied);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3777
+ /* "dependency_injector/providers.pyx":3856
* super(Container, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -73573,7 +74981,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_2__deepcop
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3793
+/* "dependency_injector/providers.pyx":3872
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -73612,14 +75020,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":3795
+ /* "dependency_injector/providers.pyx":3874
* def __getattr__(self, name):
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
* raise AttributeError(
* '\'{cls}\' object has no attribute '
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -73633,17 +75041,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -73657,70 +75065,70 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3795, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3874, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":3798
+ /* "dependency_injector/providers.pyx":3877
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
* return getattr(self.__container, name)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3798, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3798, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3798, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3798, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 3798, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3799
+ /* "dependency_injector/providers.pyx":3878
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name)) # <<<<<<<<<<<<<<
* return getattr(self.__container, name)
*
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 3798, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 3877, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3798
+ /* "dependency_injector/providers.pyx":3877
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
* return getattr(self.__container, name)
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3798, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3877, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3796
+ /* "dependency_injector/providers.pyx":3875
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'):
* raise AttributeError( # <<<<<<<<<<<<<<
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3796, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3875, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3796, __pyx_L1_error)
+ __PYX_ERR(1, 3875, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3795
+ /* "dependency_injector/providers.pyx":3874
* def __getattr__(self, name):
* """Return dependency provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
@@ -73729,7 +75137,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
*/
}
- /* "dependency_injector/providers.pyx":3800
+ /* "dependency_injector/providers.pyx":3879
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name))
* return getattr(self.__container, name) # <<<<<<<<<<<<<<
@@ -73739,14 +75147,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __pyx_v_self->__pyx___container;
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_GetAttr(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3800, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_GetAttr(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3879, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3793
+ /* "dependency_injector/providers.pyx":3872
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -73768,7 +75176,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_4__getattr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3803
+/* "dependency_injector/providers.pyx":3882
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -73798,7 +75206,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9providers
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3804
+ /* "dependency_injector/providers.pyx":3883
* @property
* def providers(self):
* return self.__container.providers # <<<<<<<<<<<<<<
@@ -73806,13 +75214,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9providers
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3804, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3883, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3803
+ /* "dependency_injector/providers.pyx":3882
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -73831,7 +75239,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9providers
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3807
+/* "dependency_injector/providers.pyx":3886
*
* @property
* def container(self): # <<<<<<<<<<<<<<
@@ -73857,7 +75265,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9container
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3808
+ /* "dependency_injector/providers.pyx":3887
* @property
* def container(self):
* return self.__container # <<<<<<<<<<<<<<
@@ -73869,7 +75277,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9container
__pyx_r = __pyx_v_self->__pyx___container;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3807
+ /* "dependency_injector/providers.pyx":3886
*
* @property
* def container(self): # <<<<<<<<<<<<<<
@@ -73884,7 +75292,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_9container
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3810
+/* "dependency_injector/providers.pyx":3889
* return self.__container
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -73921,27 +75329,27 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("override", 0);
- /* "dependency_injector/providers.pyx":3812
+ /* "dependency_injector/providers.pyx":3891
* def override(self, provider):
* """Override provider with another provider."""
* if not hasattr(provider, 'providers'): # <<<<<<<<<<<<<<
* raise Error('Container provider {0} can be overridden only by providers container'.format(self))
*
*/
- __pyx_t_1 = __Pyx_HasAttr(__pyx_v_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 3812, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_HasAttr(__pyx_v_provider, __pyx_n_s_providers); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 3891, __pyx_L1_error)
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (unlikely(__pyx_t_2)) {
- /* "dependency_injector/providers.pyx":3813
+ /* "dependency_injector/providers.pyx":3892
* """Override provider with another provider."""
* if not hasattr(provider, 'providers'):
* raise Error('Container provider {0} can be overridden only by providers container'.format(self)) # <<<<<<<<<<<<<<
*
* self.__container.override_providers(**provider.providers)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3813, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_provider_0_can_be_over, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3813, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Container_provider_0_can_be_over, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -73955,7 +75363,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3813, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -73971,14 +75379,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3813, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3813, __pyx_L1_error)
+ __PYX_ERR(1, 3892, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3812
+ /* "dependency_injector/providers.pyx":3891
* def override(self, provider):
* """Override provider with another provider."""
* if not hasattr(provider, 'providers'): # <<<<<<<<<<<<<<
@@ -73987,37 +75395,37 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
*/
}
- /* "dependency_injector/providers.pyx":3815
+ /* "dependency_injector/providers.pyx":3894
* raise Error('Container provider {0} can be overridden only by providers container'.format(self))
*
* self.__container.override_providers(**provider.providers) # <<<<<<<<<<<<<<
* return super().override(provider)
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_override_providers_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_override_providers_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_providers); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (unlikely(__pyx_t_5 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 3815, __pyx_L1_error)
+ __PYX_ERR(1, 3894, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_5))) {
- __pyx_t_4 = PyDict_Copy(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __pyx_t_4 = PyDict_Copy(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
- __pyx_t_4 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __pyx_t_4 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3894, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3816
+ /* "dependency_injector/providers.pyx":3895
*
* self.__container.override_providers(**provider.providers)
* return super().override(provider) # <<<<<<<<<<<<<<
@@ -74025,7 +75433,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
* def reset_last_overriding(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3816, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
@@ -74033,10 +75441,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3816, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3816, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_override); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -74051,14 +75459,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
}
__pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_provider) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_provider);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3816, __pyx_L1_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3810
+ /* "dependency_injector/providers.pyx":3889
* return self.__container
*
* def override(self, provider): # <<<<<<<<<<<<<<
@@ -74081,7 +75489,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6override(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3818
+/* "dependency_injector/providers.pyx":3897
* return super().override(provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -74120,14 +75528,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_last_overriding", 0);
- /* "dependency_injector/providers.pyx":3826
+ /* "dependency_injector/providers.pyx":3905
* :rtype: None
* """
* super().reset_last_overriding() # <<<<<<<<<<<<<<
* for provider in self.__container.providers.values():
* if not provider.overridden:
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3826, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
@@ -74135,10 +75543,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3826, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3826, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -74153,21 +75561,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3826, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3905, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3827
+ /* "dependency_injector/providers.pyx":3906
* """
* super().reset_last_overriding()
* for provider in self.__container.providers.values(): # <<<<<<<<<<<<<<
* if not provider.overridden:
* continue
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -74182,16 +75590,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3906, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -74199,17 +75607,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3906, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3906, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3827, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3906, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -74219,7 +75627,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 3827, __pyx_L1_error)
+ else __PYX_ERR(1, 3906, __pyx_L1_error)
}
break;
}
@@ -74228,21 +75636,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3828
+ /* "dependency_injector/providers.pyx":3907
* super().reset_last_overriding()
* for provider in self.__container.providers.values():
* if not provider.overridden: # <<<<<<<<<<<<<<
* continue
* provider.reset_last_overriding()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3828, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 3828, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 3907, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = ((!__pyx_t_6) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3829
+ /* "dependency_injector/providers.pyx":3908
* for provider in self.__container.providers.values():
* if not provider.overridden:
* continue # <<<<<<<<<<<<<<
@@ -74251,7 +75659,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
*/
goto __pyx_L3_continue;
- /* "dependency_injector/providers.pyx":3828
+ /* "dependency_injector/providers.pyx":3907
* super().reset_last_overriding()
* for provider in self.__container.providers.values():
* if not provider.overridden: # <<<<<<<<<<<<<<
@@ -74260,14 +75668,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
*/
}
- /* "dependency_injector/providers.pyx":3830
+ /* "dependency_injector/providers.pyx":3909
* if not provider.overridden:
* continue
* provider.reset_last_overriding() # <<<<<<<<<<<<<<
*
* def reset_override(self):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3830, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -74281,12 +75689,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3830, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3909, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3827
+ /* "dependency_injector/providers.pyx":3906
* """
* super().reset_last_overriding()
* for provider in self.__container.providers.values(): # <<<<<<<<<<<<<<
@@ -74297,7 +75705,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3818
+ /* "dependency_injector/providers.pyx":3897
* return super().override(provider)
*
* def reset_last_overriding(self): # <<<<<<<<<<<<<<
@@ -74322,7 +75730,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_8reset_las
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3832
+/* "dependency_injector/providers.pyx":3911
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -74361,14 +75769,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("reset_override", 0);
- /* "dependency_injector/providers.pyx":3837
+ /* "dependency_injector/providers.pyx":3916
* :rtype: None
* """
* super().reset_override() # <<<<<<<<<<<<<<
* for provider in self.__container.providers.values():
* if not provider.overridden:
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3837, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
@@ -74376,10 +75784,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3837, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3837, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -74394,21 +75802,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3837, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3916, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3838
+ /* "dependency_injector/providers.pyx":3917
* """
* super().reset_override()
* for provider in self.__container.providers.values(): # <<<<<<<<<<<<<<
* if not provider.overridden:
* continue
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -74423,16 +75831,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3917, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -74440,17 +75848,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3917, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3917, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3838, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -74460,7 +75868,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 3838, __pyx_L1_error)
+ else __PYX_ERR(1, 3917, __pyx_L1_error)
}
break;
}
@@ -74469,21 +75877,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
__Pyx_XDECREF_SET(__pyx_v_provider, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3839
+ /* "dependency_injector/providers.pyx":3918
* super().reset_override()
* for provider in self.__container.providers.values():
* if not provider.overridden: # <<<<<<<<<<<<<<
* continue
* provider.reset_override()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3839, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_overridden); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 3839, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 3918, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = ((!__pyx_t_6) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":3840
+ /* "dependency_injector/providers.pyx":3919
* for provider in self.__container.providers.values():
* if not provider.overridden:
* continue # <<<<<<<<<<<<<<
@@ -74492,7 +75900,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
*/
goto __pyx_L3_continue;
- /* "dependency_injector/providers.pyx":3839
+ /* "dependency_injector/providers.pyx":3918
* super().reset_override()
* for provider in self.__container.providers.values():
* if not provider.overridden: # <<<<<<<<<<<<<<
@@ -74501,14 +75909,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
*/
}
- /* "dependency_injector/providers.pyx":3841
+ /* "dependency_injector/providers.pyx":3920
* if not provider.overridden:
* continue
* provider.reset_override() # <<<<<<<<<<<<<<
*
* def apply_overridings(self):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3841, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_reset_override); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -74522,12 +75930,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3841, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3838
+ /* "dependency_injector/providers.pyx":3917
* """
* super().reset_override()
* for provider in self.__container.providers.values(): # <<<<<<<<<<<<<<
@@ -74538,7 +75946,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3832
+ /* "dependency_injector/providers.pyx":3911
* provider.reset_last_overriding()
*
* def reset_override(self): # <<<<<<<<<<<<<<
@@ -74563,7 +75971,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_10reset_ov
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3843
+/* "dependency_injector/providers.pyx":3922
* provider.reset_override()
*
* def apply_overridings(self): # <<<<<<<<<<<<<<
@@ -74590,30 +75998,34 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_12apply_ov
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("apply_overridings", 0);
- /* "dependency_injector/providers.pyx":3848
+ /* "dependency_injector/providers.pyx":3927
* This method should not be called directly. It is called on
* declarative container initialization."""
* self.__container.override_providers(**self.__overriding_providers) # <<<<<<<<<<<<<<
*
* @property
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_override_providers_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3848, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___container, __pyx_n_s_override_providers_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_self->__pyx___overriding_providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 3848, __pyx_L1_error)
+ __PYX_ERR(1, 3927, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_self->__pyx___overriding_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3848, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_self->__pyx___overriding_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3927, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3843
+ /* "dependency_injector/providers.pyx":3922
* provider.reset_override()
*
* def apply_overridings(self): # <<<<<<<<<<<<<<
@@ -74627,6 +76039,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_12apply_ov
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.Container.apply_overridings", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -74636,7 +76049,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_12apply_ov
}
static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3851
+/* "dependency_injector/providers.pyx":3930
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -74669,7 +76082,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_7related__
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_16___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3851, __pyx_L1_error)
+ __PYX_ERR(1, 3930, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -74677,7 +76090,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_7related__
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_9Container_7related_2generator14, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Container___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3851, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_9Container_7related_2generator14, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Container___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3930, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -74714,18 +76127,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3851, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3930, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3853
+ /* "dependency_injector/providers.pyx":3932
* def related(self):
* """Return related providers generator."""
* yield from self.providers.values() # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3853, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3853, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -74740,7 +76153,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3853, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -74754,23 +76167,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3853, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3932, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3853, __pyx_L1_error)
+ else __PYX_ERR(1, 3932, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":3854
+ /* "dependency_injector/providers.pyx":3933
* """Return related providers generator."""
* yield from self.providers.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* def resolve_provider_name(self, provider):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3854, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
@@ -74778,10 +76191,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3854, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3854, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -74795,17 +76208,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3854, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3933, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 3854, __pyx_L1_error)
+ else __PYX_ERR(1, 3933, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3851
+ /* "dependency_injector/providers.pyx":3930
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -74832,7 +76245,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_9Container_7related_2
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3856
+/* "dependency_injector/providers.pyx":3935
* yield from super().related
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -74876,16 +76289,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("resolve_provider_name", 0);
- /* "dependency_injector/providers.pyx":3858
+ /* "dependency_injector/providers.pyx":3937
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
* if container_provider is provider:
* return provider_name
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -74900,16 +76313,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3937, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -74917,17 +76330,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3937, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 3937, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -74937,7 +76350,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 3858, __pyx_L1_error)
+ else __PYX_ERR(1, 3937, __pyx_L1_error)
}
break;
}
@@ -74949,7 +76362,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 3858, __pyx_L1_error)
+ __PYX_ERR(1, 3937, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -74962,15 +76375,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3858, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3937, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -74978,7 +76391,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 3858, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 3937, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -74986,7 +76399,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 3858, __pyx_L1_error)
+ __PYX_ERR(1, 3937, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_provider_name, __pyx_t_2);
@@ -74994,7 +76407,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__Pyx_XDECREF_SET(__pyx_v_container_provider, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3859
+ /* "dependency_injector/providers.pyx":3938
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -75005,7 +76418,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":3860
+ /* "dependency_injector/providers.pyx":3939
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider:
* return provider_name # <<<<<<<<<<<<<<
@@ -75018,7 +76431,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3859
+ /* "dependency_injector/providers.pyx":3938
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items():
* if container_provider is provider: # <<<<<<<<<<<<<<
@@ -75027,7 +76440,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
*/
}
- /* "dependency_injector/providers.pyx":3858
+ /* "dependency_injector/providers.pyx":3937
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -75037,16 +76450,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
}
/*else*/ {
- /* "dependency_injector/providers.pyx":3862
+ /* "dependency_injector/providers.pyx":3941
* return provider_name
* else:
* raise Error(f'Can not resolve name for provider "{provider}"') # <<<<<<<<<<<<<<
*
* @property
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3862, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Error); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3941, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3862, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3941, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_11 = 0;
__pyx_t_12 = 127;
@@ -75054,7 +76467,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__pyx_t_11 += 35;
__Pyx_GIVEREF(__pyx_kp_u_Can_not_resolve_name_for_provide);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Can_not_resolve_name_for_provide);
- __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3862, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_provider, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3941, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_12;
__pyx_t_11 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
@@ -75065,7 +76478,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__pyx_t_11 += 1;
__Pyx_GIVEREF(__pyx_kp_u__2);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__2);
- __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3862, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3941, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -75081,15 +76494,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3862, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3941, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 3862, __pyx_L1_error)
+ __PYX_ERR(1, 3941, __pyx_L1_error)
}
- /* "dependency_injector/providers.pyx":3858
+ /* "dependency_injector/providers.pyx":3937
* def resolve_provider_name(self, provider):
* """Try to resolve provider name."""
* for provider_name, container_provider in self.providers.items(): # <<<<<<<<<<<<<<
@@ -75098,7 +76511,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
*/
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3856
+ /* "dependency_injector/providers.pyx":3935
* yield from super().related
*
* def resolve_provider_name(self, provider): # <<<<<<<<<<<<<<
@@ -75123,7 +76536,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_14resolve_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3865
+/* "dependency_injector/providers.pyx":3944
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -75149,7 +76562,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6parent___
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3867
+ /* "dependency_injector/providers.pyx":3946
* def parent(self):
* """Return parent."""
* return self.__parent # <<<<<<<<<<<<<<
@@ -75161,7 +76574,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6parent___
__pyx_r = __pyx_v_self->__pyx___parent;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3865
+ /* "dependency_injector/providers.pyx":3944
*
* @property
* def parent(self): # <<<<<<<<<<<<<<
@@ -75176,7 +76589,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_6parent___
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3870
+/* "dependency_injector/providers.pyx":3949
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -75211,18 +76624,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3872
+ /* "dependency_injector/providers.pyx":3951
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
* return None
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3872, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx___parent); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3951, __pyx_L1_error)
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":3873
+ /* "dependency_injector/providers.pyx":3952
* """Return parent name."""
* if not self.__parent:
* return None # <<<<<<<<<<<<<<
@@ -75233,7 +76646,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3872
+ /* "dependency_injector/providers.pyx":3951
* def parent_name(self):
* """Return parent name."""
* if not self.__parent: # <<<<<<<<<<<<<<
@@ -75242,7 +76655,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
*/
}
- /* "dependency_injector/providers.pyx":3875
+ /* "dependency_injector/providers.pyx":3954
* return None
*
* name = '' # <<<<<<<<<<<<<<
@@ -75252,41 +76665,41 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
__Pyx_INCREF(__pyx_kp_s__9);
__pyx_v_name = __pyx_kp_s__9;
- /* "dependency_injector/providers.pyx":3876
+ /* "dependency_injector/providers.pyx":3955
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}'
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3876, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3955, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3876, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 3955, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":3877
+ /* "dependency_injector/providers.pyx":3956
* name = ''
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.' # <<<<<<<<<<<<<<
* name += f'{self.__parent.resolve_provider_name(self)}'
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3877, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_parent_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3956, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3877, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3956, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3877, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3956, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3877, __pyx_L1_error)
+ __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3956, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3876
+ /* "dependency_injector/providers.pyx":3955
*
* name = ''
* if self.__parent.parent_name: # <<<<<<<<<<<<<<
@@ -75295,14 +76708,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
*/
}
- /* "dependency_injector/providers.pyx":3878
+ /* "dependency_injector/providers.pyx":3957
* if self.__parent.parent_name:
* name += f'{self.__parent.parent_name}.'
* name += f'{self.__parent.resolve_provider_name(self)}' # <<<<<<<<<<<<<<
*
* return name
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3878, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___parent, __pyx_n_s_resolve_provider_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -75316,19 +76729,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_self));
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3878, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3878, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3878, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_name, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":3880
+ /* "dependency_injector/providers.pyx":3959
* name += f'{self.__parent.resolve_provider_name(self)}'
*
* return name # <<<<<<<<<<<<<<
@@ -75340,7 +76753,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
__pyx_r = __pyx_v_name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3870
+ /* "dependency_injector/providers.pyx":3949
*
* @property
* def parent_name(self): # <<<<<<<<<<<<<<
@@ -75362,7 +76775,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_11parent_n
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3882
+/* "dependency_injector/providers.pyx":3961
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -75389,7 +76802,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_16assign_p
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("assign_parent", 0);
- /* "dependency_injector/providers.pyx":3884
+ /* "dependency_injector/providers.pyx":3963
* def assign_parent(self, parent):
* """Assign parent."""
* self.__parent = parent # <<<<<<<<<<<<<<
@@ -75402,7 +76815,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_16assign_p
__Pyx_DECREF(__pyx_v_self->__pyx___parent);
__pyx_v_self->__pyx___parent = __pyx_v_parent;
- /* "dependency_injector/providers.pyx":3882
+ /* "dependency_injector/providers.pyx":3961
* return name
*
* def assign_parent(self, parent): # <<<<<<<<<<<<<<
@@ -75417,7 +76830,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_16assign_p
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3886
+/* "dependency_injector/providers.pyx":3965
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -75459,11 +76872,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Container_19_copy_pa
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 3886, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, 1); __PYX_ERR(1, 3965, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 3886, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 3965, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -75476,7 +76889,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Container_19_copy_pa
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3886, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3965, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Container._copy_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -75498,19 +76911,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_18_copy_pa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_parent", 0);
- /* "dependency_injector/providers.pyx":3887
+ /* "dependency_injector/providers.pyx":3966
*
* def _copy_parent(self, copied, memo):
* _copy_parent(self, copied, memo) # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3887, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3887, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3966, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(((PyObject *)__pyx_v_self), __pyx_v_copied, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3966, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3886
+ /* "dependency_injector/providers.pyx":3965
* self.__parent = parent
*
* def _copy_parent(self, copied, memo): # <<<<<<<<<<<<<<
@@ -75531,7 +76944,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_18_copy_pa
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3889
+/* "dependency_injector/providers.pyx":3968
* _copy_parent(self, copied, memo)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -75562,7 +76975,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_9Container_21_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -75582,7 +76995,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -75590,13 +77003,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -75607,7 +77020,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -75630,7 +77043,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
#endif
}
- /* "dependency_injector/providers.pyx":3891
+ /* "dependency_injector/providers.pyx":3970
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return single instance."""
* return self.__container # <<<<<<<<<<<<<<
@@ -75642,7 +77055,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_9Container__provide(st
__pyx_r = __pyx_v_self->__pyx___container;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3889
+ /* "dependency_injector/providers.pyx":3968
* _copy_parent(self, copied, memo)
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -75700,11 +77113,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Container_21_provide
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3889, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 3968, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3889, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 3968, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -75717,14 +77130,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9Container_21_provide
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3889, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3968, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Container._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3889, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3889, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 3968, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 3968, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_9Container_20_provide(((struct __pyx_obj_19dependency_injector_9providers_Container *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -75745,7 +77158,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_20_provide
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_9Container__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3889, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_9Container__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3968, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -76124,7 +77537,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Container_24__setsta
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3925
+/* "dependency_injector/providers.pyx":4004
* """
*
* def __init__(self, selector=None, **providers): # <<<<<<<<<<<<<<
@@ -76171,7 +77584,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Selector_1__init__(PyObjec
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_providers, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 3925, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_providers, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4004, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -76185,7 +77598,7 @@ static int __pyx_pw_19dependency_injector_9providers_8Selector_1__init__(PyObjec
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 3925, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4004, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_providers); __pyx_v_providers = 0;
__Pyx_AddTraceback("dependency_injector.providers.Selector.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -76211,7 +77624,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Selector___init__(struct _
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":3927
+ /* "dependency_injector/providers.pyx":4006
* def __init__(self, selector=None, **providers):
* """Initialize provider."""
* self.__selector = None # <<<<<<<<<<<<<<
@@ -76224,14 +77637,14 @@ static int __pyx_pf_19dependency_injector_9providers_8Selector___init__(struct _
__Pyx_DECREF(__pyx_v_self->__pyx___selector);
__pyx_v_self->__pyx___selector = Py_None;
- /* "dependency_injector/providers.pyx":3928
+ /* "dependency_injector/providers.pyx":4007
* """Initialize provider."""
* self.__selector = None
* self.set_selector(selector) # <<<<<<<<<<<<<<
*
* self.__providers = {}
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_selector); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3928, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_selector); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4007, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -76245,19 +77658,19 @@ static int __pyx_pf_19dependency_injector_9providers_8Selector___init__(struct _
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_selector) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_selector);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3928, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4007, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3930
+ /* "dependency_injector/providers.pyx":4009
* self.set_selector(selector)
*
* self.__providers = {} # <<<<<<<<<<<<<<
* self.set_providers(**providers)
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3930, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___providers);
@@ -76265,59 +77678,62 @@ static int __pyx_pf_19dependency_injector_9providers_8Selector___init__(struct _
__pyx_v_self->__pyx___providers = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3931
+ /* "dependency_injector/providers.pyx":4010
*
* self.__providers = {}
* self.set_providers(**providers) # <<<<<<<<<<<<<<
*
* super(Selector, self).__init__()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3931, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_v_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3931, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_providers); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4010, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3933
+ /* "dependency_injector/providers.pyx":4012
* self.set_providers(**providers)
*
* super(Selector, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3933, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
+ PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3933, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3933, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- }
- }
- __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3933, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3925
+ /* "dependency_injector/providers.pyx":4004
* """
*
* def __init__(self, selector=None, **providers): # <<<<<<<<<<<<<<
@@ -76339,7 +77755,7 @@ static int __pyx_pf_19dependency_injector_9providers_8Selector___init__(struct _
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3935
+/* "dependency_injector/providers.pyx":4014
* super(Selector, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -76377,16 +77793,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":3937
+ /* "dependency_injector/providers.pyx":4016
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3937, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3937, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -76401,13 +77817,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3937, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3938
+ /* "dependency_injector/providers.pyx":4017
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -76418,7 +77834,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":3939
+ /* "dependency_injector/providers.pyx":4018
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -76430,7 +77846,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3938
+ /* "dependency_injector/providers.pyx":4017
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -76439,34 +77855,34 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
*/
}
- /* "dependency_injector/providers.pyx":3941
+ /* "dependency_injector/providers.pyx":4020
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_selector(deepcopy(self.__selector, memo))
* copied.set_providers(**deepcopy(self.__providers, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3941, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3941, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4020, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4020, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3942
+ /* "dependency_injector/providers.pyx":4021
*
* copied = _memorized_duplicate(self, memo)
* copied.set_selector(deepcopy(self.__selector, memo)) # <<<<<<<<<<<<<<
* copied.set_providers(**deepcopy(self.__providers, memo))
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_selector); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3942, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_selector); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_v_self->__pyx___selector;
__Pyx_INCREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3942, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4021, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3942, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -76482,59 +77898,59 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3942, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":3943
+ /* "dependency_injector/providers.pyx":4022
* copied = _memorized_duplicate(self, memo)
* copied.set_selector(deepcopy(self.__selector, memo))
* copied.set_providers(**deepcopy(self.__providers, memo)) # <<<<<<<<<<<<<<
*
* self._copy_overridings(copied, memo)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3943, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4022, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __pyx_v_self->__pyx___providers;
__Pyx_INCREF(__pyx_t_4);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3943, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4022, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3943, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_4, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4022, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 3943, __pyx_L1_error)
+ __PYX_ERR(1, 4022, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3943, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4022, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3943, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4022, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3943, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4022, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3945
+ /* "dependency_injector/providers.pyx":4024
* copied.set_providers(**deepcopy(self.__providers, memo))
*
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
*
* return copied
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 3945, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 3945, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 4024, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4024, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_Selector *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":3947
+ /* "dependency_injector/providers.pyx":4026
* self._copy_overridings(copied, memo)
*
* return copied # <<<<<<<<<<<<<<
@@ -76546,7 +77962,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3935
+ /* "dependency_injector/providers.pyx":4014
* super(Selector, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -76569,7 +77985,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_2__deepcopy
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3949
+/* "dependency_injector/providers.pyx":4028
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -76608,14 +78024,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":3951
+ /* "dependency_injector/providers.pyx":4030
* def __getattr__(self, name):
* """Return provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
* raise AttributeError(
* '\'{cls}\' object has no attribute '
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -76629,17 +78045,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -76653,70 +78069,70 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 3951, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 4030, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":3954
+ /* "dependency_injector/providers.pyx":4033
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
* if name not in self.__providers:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3954, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cls_object_has_no_attribute_att, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3954, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3954, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3954, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 3954, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cls, __pyx_t_6) < 0) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3955
+ /* "dependency_injector/providers.pyx":4034
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name)) # <<<<<<<<<<<<<<
* if name not in self.__providers:
* raise AttributeError('Selector has no "{0}" provider'.format(name))
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 3954, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_name, __pyx_v_name) < 0) __PYX_ERR(1, 4033, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3954
+ /* "dependency_injector/providers.pyx":4033
* raise AttributeError(
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__, # <<<<<<<<<<<<<<
* attribute_name=name))
* if name not in self.__providers:
*/
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3954, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3952
+ /* "dependency_injector/providers.pyx":4031
* """Return provider."""
* if name.startswith('__') and name.endswith('__'):
* raise AttributeError( # <<<<<<<<<<<<<<
* '\'{cls}\' object has no attribute '
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3952, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4031, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __PYX_ERR(1, 3952, __pyx_L1_error)
+ __PYX_ERR(1, 4031, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3951
+ /* "dependency_injector/providers.pyx":4030
* def __getattr__(self, name):
* """Return provider."""
* if name.startswith('__') and name.endswith('__'): # <<<<<<<<<<<<<<
@@ -76725,7 +78141,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
*/
}
- /* "dependency_injector/providers.pyx":3956
+ /* "dependency_injector/providers.pyx":4035
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name))
* if name not in self.__providers: # <<<<<<<<<<<<<<
@@ -76734,20 +78150,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 3956, __pyx_L1_error)
+ __PYX_ERR(1, 4035, __pyx_L1_error)
}
- __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_self->__pyx___providers, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 3956, __pyx_L1_error)
+ __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_self->__pyx___providers, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 4035, __pyx_L1_error)
__pyx_t_5 = (__pyx_t_1 != 0);
if (unlikely(__pyx_t_5)) {
- /* "dependency_injector/providers.pyx":3957
+ /* "dependency_injector/providers.pyx":4036
* attribute_name=name))
* if name not in self.__providers:
* raise AttributeError('Selector has no "{0}" provider'.format(name)) # <<<<<<<<<<<<<<
*
* return self.__providers[name]
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Selector_has_no_0_provider, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3957, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Selector_has_no_0_provider, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -76761,17 +78177,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
}
__pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3957, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3957, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_6, 0, 0, 0);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __PYX_ERR(1, 3957, __pyx_L1_error)
+ __PYX_ERR(1, 4036, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3956
+ /* "dependency_injector/providers.pyx":4035
* '\'{attribute_name}\''.format(cls=self.__class__.__name__,
* attribute_name=name))
* if name not in self.__providers: # <<<<<<<<<<<<<<
@@ -76780,7 +78196,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
*/
}
- /* "dependency_injector/providers.pyx":3959
+ /* "dependency_injector/providers.pyx":4038
* raise AttributeError('Selector has no "{0}" provider'.format(name))
*
* return self.__providers[name] # <<<<<<<<<<<<<<
@@ -76790,15 +78206,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 3959, __pyx_L1_error)
+ __PYX_ERR(1, 4038, __pyx_L1_error)
}
- __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___providers, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3959, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___providers, __pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4038, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3949
+ /* "dependency_injector/providers.pyx":4028
* return copied
*
* def __getattr__(self, name): # <<<<<<<<<<<<<<
@@ -76820,7 +78236,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_4__getattr_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3961
+/* "dependency_injector/providers.pyx":4040
* return self.__providers[name]
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -76846,7 +78262,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Selector_7__str__(Py
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3971
+/* "dependency_injector/providers.pyx":4050
* selector=self.__selector,
* providers=', '.join((
* '{0}={1}'.format(name, provider) # <<<<<<<<<<<<<<
@@ -76866,7 +78282,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_7__str___ge
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_18_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3971, __pyx_L1_error)
+ __PYX_ERR(1, 4050, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -76874,7 +78290,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_7__str___ge
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Selector_7__str___2generator22, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_str___locals_genexpr, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Selector_7__str___2generator22, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_str___locals_genexpr, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -76916,29 +78332,29 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4050, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3972
+ /* "dependency_injector/providers.pyx":4051
* providers=', '.join((
* '{0}={1}'.format(name, provider)
* for name, provider in self.__providers.items() # <<<<<<<<<<<<<<
* )),
* address=hex(id(self)),
*/
- if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(1, 3972, __pyx_L1_error) }
+ if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(1, 4051, __pyx_L1_error) }
if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(1, 3972, __pyx_L1_error)
+ __PYX_ERR(1, 4051, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4051, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -76946,17 +78362,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4051, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4051, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -76966,7 +78382,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 3972, __pyx_L1_error)
+ else __PYX_ERR(1, 4051, __pyx_L1_error)
}
break;
}
@@ -76978,7 +78394,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 3972, __pyx_L1_error)
+ __PYX_ERR(1, 4051, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -76991,15 +78407,15 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3972, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -77007,7 +78423,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 3972, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4051, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L7_unpacking_done;
@@ -77015,7 +78431,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 3972, __pyx_L1_error)
+ __PYX_ERR(1, 4051, __pyx_L1_error)
__pyx_L7_unpacking_done:;
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_name);
@@ -77027,14 +78443,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_GIVEREF(__pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":3971
+ /* "dependency_injector/providers.pyx":4050
* selector=self.__selector,
* providers=', '.join((
* '{0}={1}'.format(name, provider) # <<<<<<<<<<<<<<
* for name, provider in self.__providers.items()
* )),
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_1, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
__pyx_t_9 = 0;
@@ -77051,7 +78467,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_name, __pyx_cur_scope->__pyx_v_provider};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -77059,13 +78475,13 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_name, __pyx_cur_scope->__pyx_v_provider};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -77076,7 +78492,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_provider);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_provider);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_cur_scope->__pyx_v_provider);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -77099,9 +78515,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_XGOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
__pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4050, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3972
+ /* "dependency_injector/providers.pyx":4051
* providers=', '.join((
* '{0}={1}'.format(name, provider)
* for name, provider in self.__providers.items() # <<<<<<<<<<<<<<
@@ -77112,7 +78528,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3971
+ /* "dependency_injector/providers.pyx":4050
* selector=self.__selector,
* providers=', '.join((
* '{0}={1}'.format(name, provider) # <<<<<<<<<<<<<<
@@ -77141,7 +78557,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3961
+/* "dependency_injector/providers.pyx":4040
* return self.__providers[name]
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -77151,6 +78567,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2g
static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(struct __pyx_obj_19dependency_injector_9providers_Selector *__pyx_v_self) {
struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_17___str__ *__pyx_cur_scope;
+ PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2generator22 = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -77166,7 +78583,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_17___str__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3961, __pyx_L1_error)
+ __PYX_ERR(1, 4040, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -77174,7 +78591,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
- /* "dependency_injector/providers.pyx":3967
+ /* "dependency_injector/providers.pyx":4046
* """
*
* return '<{provider}({selector}, {providers}) at {address}>'.format( # <<<<<<<<<<<<<<
@@ -77182,29 +78599,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
* selector=self.__selector,
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_selector_providers_at, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3967, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_selector_providers_at, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":3968
+ /* "dependency_injector/providers.pyx":4047
*
* return '<{provider}({selector}, {providers}) at {address}>'.format(
* provider='.'.join(( self.__class__.__module__, self.__class__.__name__)), # <<<<<<<<<<<<<<
* selector=self.__selector,
* providers=', '.join((
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
@@ -77212,67 +78629,67 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
__pyx_t_4 = 0;
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3968, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 3968, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3969
+ /* "dependency_injector/providers.pyx":4048
* return '<{provider}({selector}, {providers}) at {address}>'.format(
* provider='.'.join(( self.__class__.__module__, self.__class__.__name__)),
* selector=self.__selector, # <<<<<<<<<<<<<<
* providers=', '.join((
* '{0}={1}'.format(name, provider)
*/
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_selector, __pyx_cur_scope->__pyx_v_self->__pyx___selector) < 0) __PYX_ERR(1, 3968, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_selector, __pyx_cur_scope->__pyx_v_self->__pyx___selector) < 0) __PYX_ERR(1, 4047, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3971
+ /* "dependency_injector/providers.pyx":4050
* selector=self.__selector,
* providers=', '.join((
* '{0}={1}'.format(name, provider) # <<<<<<<<<<<<<<
* for name, provider in self.__providers.items()
* )),
*/
- __pyx_t_5 = __pyx_pf_19dependency_injector_9providers_8Selector_7__str___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3971, __pyx_L1_error)
+ __pyx_t_5 = __pyx_pf_19dependency_injector_9providers_8Selector_7__str___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":3970
+ /* "dependency_injector/providers.pyx":4049
* provider='.'.join(( self.__class__.__module__, self.__class__.__name__)),
* selector=self.__selector,
* providers=', '.join(( # <<<<<<<<<<<<<<
* '{0}={1}'.format(name, provider)
* for name, provider in self.__providers.items()
*/
- __pyx_t_3 = __Pyx_PyString_Join(__pyx_kp_s__30, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3970, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyString_Join(__pyx_kp_s__36, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_providers, __pyx_t_3) < 0) __PYX_ERR(1, 3968, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_providers, __pyx_t_3) < 0) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":3974
+ /* "dependency_injector/providers.pyx":4053
* for name, provider in self.__providers.items()
* )),
* address=hex(id(self)), # <<<<<<<<<<<<<<
* )
*
*/
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_cur_scope->__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3974, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_cur_scope->__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4053, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3974, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4053, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_5) < 0) __PYX_ERR(1, 3968, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_5) < 0) __PYX_ERR(1, 4047, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":3967
+ /* "dependency_injector/providers.pyx":4046
* """
*
* return '<{provider}({selector}, {providers}) at {address}>'.format( # <<<<<<<<<<<<<<
* provider='.'.join(( self.__class__.__module__, self.__class__.__name__)),
* selector=self.__selector,
*/
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3967, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -77280,7 +78697,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3961
+ /* "dependency_injector/providers.pyx":4040
* return self.__providers[name]
*
* def __str__(self): # <<<<<<<<<<<<<<
@@ -77298,13 +78715,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_6__str__(st
__Pyx_AddTraceback("dependency_injector.providers.Selector.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
+ __Pyx_XDECREF(__pyx_gb_19dependency_injector_9providers_8Selector_7__str___2generator22);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3978
+/* "dependency_injector/providers.pyx":4057
*
* @property
* def selector(self): # <<<<<<<<<<<<<<
@@ -77330,7 +78748,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8selector__
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3980
+ /* "dependency_injector/providers.pyx":4059
* def selector(self):
* """Return selector."""
* return self.__selector # <<<<<<<<<<<<<<
@@ -77342,7 +78760,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8selector__
__pyx_r = __pyx_v_self->__pyx___selector;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3978
+ /* "dependency_injector/providers.pyx":4057
*
* @property
* def selector(self): # <<<<<<<<<<<<<<
@@ -77357,7 +78775,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8selector__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3982
+/* "dependency_injector/providers.pyx":4061
* return self.__selector
*
* def set_selector(self, selector): # <<<<<<<<<<<<<<
@@ -77384,7 +78802,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8set_select
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_selector", 0);
- /* "dependency_injector/providers.pyx":3984
+ /* "dependency_injector/providers.pyx":4063
* def set_selector(self, selector):
* """Set selector."""
* self.__selector = selector # <<<<<<<<<<<<<<
@@ -77397,7 +78815,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8set_select
__Pyx_DECREF(__pyx_v_self->__pyx___selector);
__pyx_v_self->__pyx___selector = __pyx_v_selector;
- /* "dependency_injector/providers.pyx":3985
+ /* "dependency_injector/providers.pyx":4064
* """Set selector."""
* self.__selector = selector
* return self # <<<<<<<<<<<<<<
@@ -77409,7 +78827,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8set_select
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3982
+ /* "dependency_injector/providers.pyx":4061
* return self.__selector
*
* def set_selector(self, selector): # <<<<<<<<<<<<<<
@@ -77424,7 +78842,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_8set_select
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3988
+/* "dependency_injector/providers.pyx":4067
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -77454,7 +78872,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_9providers_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":3990
+ /* "dependency_injector/providers.pyx":4069
* def providers(self):
* """Return providers."""
* return dict(self.__providers) # <<<<<<<<<<<<<<
@@ -77464,15 +78882,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_9providers_
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable");
- __PYX_ERR(1, 3990, __pyx_L1_error)
+ __PYX_ERR(1, 4069, __pyx_L1_error)
}
- __pyx_t_1 = PyDict_Copy(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3990, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_self->__pyx___providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4069, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3988
+ /* "dependency_injector/providers.pyx":4067
*
* @property
* def providers(self): # <<<<<<<<<<<<<<
@@ -77491,7 +78909,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_9providers_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":3992
+/* "dependency_injector/providers.pyx":4071
* return dict(self.__providers)
*
* def set_providers(self, **providers: Provider): # <<<<<<<<<<<<<<
@@ -77525,7 +78943,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_10set_provi
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_providers", 0);
- /* "dependency_injector/providers.pyx":3994
+ /* "dependency_injector/providers.pyx":4073
* def set_providers(self, **providers: Provider):
* """Set providers."""
* self.__providers = providers # <<<<<<<<<<<<<<
@@ -77538,7 +78956,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_10set_provi
__Pyx_DECREF(__pyx_v_self->__pyx___providers);
__pyx_v_self->__pyx___providers = __pyx_v_providers;
- /* "dependency_injector/providers.pyx":3995
+ /* "dependency_injector/providers.pyx":4074
* """Set providers."""
* self.__providers = providers
* return self # <<<<<<<<<<<<<<
@@ -77550,7 +78968,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_10set_provi
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":3992
+ /* "dependency_injector/providers.pyx":4071
* return dict(self.__providers)
*
* def set_providers(self, **providers: Provider): # <<<<<<<<<<<<<<
@@ -77566,7 +78984,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_10set_provi
}
static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":3998
+/* "dependency_injector/providers.pyx":4077
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -77599,7 +79017,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_7related___
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_19___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 3998, __pyx_L1_error)
+ __PYX_ERR(1, 4077, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -77607,7 +79025,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_7related___
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Selector_7related_2generator15, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Selector___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 3998, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_8Selector_7related_2generator15, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_Selector___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4077, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -77645,23 +79063,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 3998, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4077, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4000
+ /* "dependency_injector/providers.pyx":4079
* def related(self):
* """Return related providers generator."""
* yield from filter(is_provider, [self.__selector]) # <<<<<<<<<<<<<<
* yield from self.providers.values()
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4000, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4000, __pyx_L1_error)
+ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_self->__pyx___selector);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_self->__pyx___selector);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_self->__pyx___selector);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4000, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
@@ -77669,7 +79087,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4000, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -77683,25 +79101,25 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L4_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4000, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4079, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4000, __pyx_L1_error)
+ else __PYX_ERR(1, 4079, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":4001
+ /* "dependency_injector/providers.pyx":4080
* """Return related providers generator."""
* yield from filter(is_provider, [self.__selector])
* yield from self.providers.values() # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4001, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_providers); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4001, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -77716,7 +79134,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4001, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -77730,23 +79148,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L5_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4001, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4080, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4001, __pyx_L1_error)
+ else __PYX_ERR(1, 4080, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":4002
+ /* "dependency_injector/providers.pyx":4081
* yield from filter(is_provider, [self.__selector])
* yield from self.providers.values()
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4002, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Selector));
@@ -77754,10 +79172,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4002, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4002, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_related); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4081, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2);
@@ -77771,17 +79189,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4002, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4081, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4002, __pyx_L1_error)
+ else __PYX_ERR(1, 4081, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":3998
+ /* "dependency_injector/providers.pyx":4077
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -77808,7 +79226,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_8Selector_7related_2g
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4004
+/* "dependency_injector/providers.pyx":4083
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -77842,7 +79260,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_8Selector_13_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -77862,7 +79280,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -77870,13 +79288,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -77887,7 +79305,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -77910,7 +79328,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
#endif
}
- /* "dependency_injector/providers.pyx":4006
+ /* "dependency_injector/providers.pyx":4085
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return single instance."""
* selector_value = self.__selector() # <<<<<<<<<<<<<<
@@ -77930,13 +79348,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4006, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_selector_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4008
+ /* "dependency_injector/providers.pyx":4087
* selector_value = self.__selector()
*
* if selector_value is None: # <<<<<<<<<<<<<<
@@ -77947,14 +79365,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
__pyx_t_8 = (__pyx_t_7 != 0);
if (unlikely(__pyx_t_8)) {
- /* "dependency_injector/providers.pyx":4009
+ /* "dependency_injector/providers.pyx":4088
*
* if selector_value is None:
* raise Error('Selector value is undefined') # <<<<<<<<<<<<<<
*
* if selector_value not in self.__providers:
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4009, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4088, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
@@ -77968,14 +79386,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_Selector_value_is_undefined) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_Selector_value_is_undefined);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4009, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4088, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 4009, __pyx_L1_error)
+ __PYX_ERR(1, 4088, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4008
+ /* "dependency_injector/providers.pyx":4087
* selector_value = self.__selector()
*
* if selector_value is None: # <<<<<<<<<<<<<<
@@ -77984,7 +79402,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
*/
}
- /* "dependency_injector/providers.pyx":4011
+ /* "dependency_injector/providers.pyx":4090
* raise Error('Selector value is undefined')
*
* if selector_value not in self.__providers: # <<<<<<<<<<<<<<
@@ -77993,22 +79411,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
*/
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 4011, __pyx_L1_error)
+ __PYX_ERR(1, 4090, __pyx_L1_error)
}
- __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_v_selector_value, __pyx_v_self->__pyx___providers, Py_NE)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 4011, __pyx_L1_error)
+ __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_v_selector_value, __pyx_v_self->__pyx___providers, Py_NE)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 4090, __pyx_L1_error)
__pyx_t_7 = (__pyx_t_8 != 0);
if (unlikely(__pyx_t_7)) {
- /* "dependency_injector/providers.pyx":4012
+ /* "dependency_injector/providers.pyx":4091
*
* if selector_value not in self.__providers:
* raise Error('Selector has no "{0}" provider'.format(selector_value)) # <<<<<<<<<<<<<<
*
* return self.__providers[selector_value](*args, **kwargs)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Selector_has_no_0_provider, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Selector_has_no_0_provider, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -78022,7 +79440,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_selector_value) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_selector_value);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -78038,14 +79456,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4012, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 4012, __pyx_L1_error)
+ __PYX_ERR(1, 4091, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4011
+ /* "dependency_injector/providers.pyx":4090
* raise Error('Selector value is undefined')
*
* if selector_value not in self.__providers: # <<<<<<<<<<<<<<
@@ -78054,7 +79472,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
*/
}
- /* "dependency_injector/providers.pyx":4014
+ /* "dependency_injector/providers.pyx":4093
* raise Error('Selector has no "{0}" provider'.format(selector_value))
*
* return self.__providers[selector_value](*args, **kwargs) # <<<<<<<<<<<<<<
@@ -78064,26 +79482,29 @@ static PyObject *__pyx_f_19dependency_injector_9providers_8Selector__provide(str
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_self->__pyx___providers == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 4014, __pyx_L1_error)
+ __PYX_ERR(1, 4093, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___providers, __pyx_v_selector_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4014, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->__pyx___providers, __pyx_v_selector_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4093, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 4014, __pyx_L1_error)
+ __PYX_ERR(1, 4093, __pyx_L1_error)
}
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 4014, __pyx_L1_error)
+ __PYX_ERR(1, 4093, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4014, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4093, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4093, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4004
+ /* "dependency_injector/providers.pyx":4083
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -78142,11 +79563,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Selector_13_provide(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4004, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4083, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4004, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4083, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -78159,14 +79580,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_8Selector_13_provide(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4004, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4083, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.Selector._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4004, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4004, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4083, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4083, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8Selector_12_provide(((struct __pyx_obj_19dependency_injector_9providers_Selector *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -78187,7 +79608,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_12_provide(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Selector__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4004, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_8Selector__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4083, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -78546,7 +79967,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8Selector_16__setstat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4048
+/* "dependency_injector/providers.pyx":4127
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -78586,7 +80007,7 @@ static int __pyx_pw_19dependency_injector_9providers_16ProvidedInstance_1__init_
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4048, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4127, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -78600,7 +80021,7 @@ static int __pyx_pw_19dependency_injector_9providers_16ProvidedInstance_1__init_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4048, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4127, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ProvidedInstance.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -78624,7 +80045,7 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4049
+ /* "dependency_injector/providers.pyx":4128
*
* def __init__(self, provides=None):
* self.__provides = None # <<<<<<<<<<<<<<
@@ -78637,14 +80058,14 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":4050
+ /* "dependency_injector/providers.pyx":4129
* def __init__(self, provides=None):
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
* super().__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4050, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -78658,19 +80079,19 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4050, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4051
+ /* "dependency_injector/providers.pyx":4130
* self.__provides = None
* self.set_provides(provides)
* super().__init__() # <<<<<<<<<<<<<<
*
* def __repr__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4051, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance));
@@ -78678,10 +80099,10 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4051, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4051, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -78696,12 +80117,12 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4051, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4048
+ /* "dependency_injector/providers.pyx":4127
* """
*
* def __init__(self, provides=None): # <<<<<<<<<<<<<<
@@ -78723,11 +80144,11 @@ static int __pyx_pf_19dependency_injector_9providers_16ProvidedInstance___init__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4053
+/* "dependency_injector/providers.pyx":4132
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.__provides}\')'
+ * return f'{self.__class__.__name__}("{self.__provides}")'
*
*/
@@ -78757,24 +80178,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":4054
+ /* "dependency_injector/providers.pyx":4133
*
* def __repr__(self):
- * return f'{self.__class__.__name__}(\'{self.__provides}\')' # <<<<<<<<<<<<<<
+ * return f'{self.__class__.__name__}("{self.__provides}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -78782,33 +80203,33 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
__pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__31);
+ __Pyx_INCREF(__pyx_kp_u__37);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__31);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__31);
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_self->__pyx___provides, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__37);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__37);
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_self->__pyx___provides, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
__pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4);
__pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__32);
+ __Pyx_INCREF(__pyx_kp_u__38);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__32);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__32);
- __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4054, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__38);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__38);
+ __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4053
+ /* "dependency_injector/providers.pyx":4132
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.__provides}\')'
+ * return f'{self.__class__.__name__}("{self.__provides}")'
*
*/
@@ -78825,8 +80246,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_2_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4056
- * return f'{self.__class__.__name__}(\'{self.__provides}\')'
+/* "dependency_injector/providers.pyx":4135
+ * return f'{self.__class__.__name__}("{self.__provides}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -78861,16 +80282,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4057
+ /* "dependency_injector/providers.pyx":4136
*
* def __deepcopy__(self, memo):
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4057, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4136, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4057, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4136, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -78885,13 +80306,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4057, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4136, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4058
+ /* "dependency_injector/providers.pyx":4137
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -78902,7 +80323,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4059
+ /* "dependency_injector/providers.pyx":4138
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -78914,7 +80335,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4058
+ /* "dependency_injector/providers.pyx":4137
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -78923,32 +80344,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
*/
}
- /* "dependency_injector/providers.pyx":4061
+ /* "dependency_injector/providers.pyx":4140
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* return copied
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4061, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4061, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4140, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4062
+ /* "dependency_injector/providers.pyx":4141
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* return copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4062, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4062, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4062, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4062, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4141, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -78964,12 +80385,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4062, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4063
+ /* "dependency_injector/providers.pyx":4142
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* return copied # <<<<<<<<<<<<<<
@@ -78981,8 +80402,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4056
- * return f'{self.__class__.__name__}(\'{self.__provides}\')'
+ /* "dependency_injector/providers.pyx":4135
+ * return f'{self.__class__.__name__}("{self.__provides}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -79004,7 +80425,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_4_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4065
+/* "dependency_injector/providers.pyx":4144
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -79035,7 +80456,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_6_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":4066
+ /* "dependency_injector/providers.pyx":4145
*
* def __getattr__(self, item):
* return AttributeGetter(self, item) # <<<<<<<<<<<<<<
@@ -79043,7 +80464,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_6_
* def __getitem__(self, item):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4066, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -79051,14 +80472,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_6_
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4066, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4065
+ /* "dependency_injector/providers.pyx":4144
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -79078,7 +80499,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_6_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4068
+/* "dependency_injector/providers.pyx":4147
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -79109,7 +80530,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":4069
+ /* "dependency_injector/providers.pyx":4148
*
* def __getitem__(self, item):
* return ItemGetter(self, item) # <<<<<<<<<<<<<<
@@ -79117,7 +80538,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8_
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4069, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -79125,14 +80546,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8_
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4069, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4148, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4068
+ /* "dependency_injector/providers.pyx":4147
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -79152,7 +80573,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4072
+/* "dependency_injector/providers.pyx":4151
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -79178,7 +80599,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8p
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4074
+ /* "dependency_injector/providers.pyx":4153
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -79190,7 +80611,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8p
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4072
+ /* "dependency_injector/providers.pyx":4151
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -79205,7 +80626,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_8p
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4076
+/* "dependency_injector/providers.pyx":4155
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -79232,7 +80653,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_10
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":4078
+ /* "dependency_injector/providers.pyx":4157
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -79245,7 +80666,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_10
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":4079
+ /* "dependency_injector/providers.pyx":4158
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -79257,7 +80678,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_10
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4076
+ /* "dependency_injector/providers.pyx":4155
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -79272,7 +80693,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_10
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4081
+/* "dependency_injector/providers.pyx":4160
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -79289,12 +80710,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16ProvidedInstance_13
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("call (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "call", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_16ProvidedInstance_12call(((struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -79311,12 +80728,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_12
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("call", 0);
- /* "dependency_injector/providers.pyx":4082
+ /* "dependency_injector/providers.pyx":4161
*
* def call(self, *args, **kwargs):
* return MethodCaller(self, *args, **kwargs) # <<<<<<<<<<<<<<
@@ -79324,22 +80742,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_12
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4082, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4082, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4082, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4161, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4081
+ /* "dependency_injector/providers.pyx":4160
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -79351,6 +80772,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_12
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.ProvidedInstance.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -79360,7 +80782,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_12
}
static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7related_2generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":4085
+/* "dependency_injector/providers.pyx":4164
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -79393,7 +80815,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_7r
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_20___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 4085, __pyx_L1_error)
+ __PYX_ERR(1, 4164, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -79401,7 +80823,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_7r
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7related_2generator16, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ProvidedInstance___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4085, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7related_2generator16, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ProvidedInstance___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4164, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -79438,29 +80860,29 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4085, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4164, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4087
+ /* "dependency_injector/providers.pyx":4166
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
* yield self.provides
* yield from super().related
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4087, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_1, 0) != 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4088
+ /* "dependency_injector/providers.pyx":4167
* """Return related providers generator."""
* if is_provider(self.provides):
* yield self.provides # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4088, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4167, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -79471,9 +80893,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4088, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4167, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4087
+ /* "dependency_injector/providers.pyx":4166
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
@@ -79482,14 +80904,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
*/
}
- /* "dependency_injector/providers.pyx":4089
+ /* "dependency_injector/providers.pyx":4168
* if is_provider(self.provides):
* yield self.provides
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4089, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4168, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ProvidedInstance));
@@ -79497,10 +80919,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4089, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4168, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4089, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4168, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -79514,17 +80936,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4089, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4168, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4089, __pyx_L1_error)
+ else __PYX_ERR(1, 4168, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":4085
+ /* "dependency_injector/providers.pyx":4164
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -79550,7 +80972,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_16ProvidedInstance_7r
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4091
+/* "dependency_injector/providers.pyx":4170
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -79581,7 +81003,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_16ProvidedInstance_15_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -79601,7 +81023,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -79609,13 +81031,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -79626,7 +81048,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -79649,7 +81071,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
#endif
}
- /* "dependency_injector/providers.pyx":4092
+ /* "dependency_injector/providers.pyx":4171
*
* cpdef object _provide(self, tuple args, dict kwargs):
* return self.__provides(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -79659,19 +81081,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_16ProvidedInstance__pr
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 4092, __pyx_L1_error)
+ __PYX_ERR(1, 4171, __pyx_L1_error)
}
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 4092, __pyx_L1_error)
+ __PYX_ERR(1, 4171, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___provides, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4092, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___provides, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4171, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4091
+ /* "dependency_injector/providers.pyx":4170
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -79728,11 +81153,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16ProvidedInstance_15
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4091, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4170, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4091, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4170, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -79745,14 +81170,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_16ProvidedInstance_15
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4091, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4170, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ProvidedInstance._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4091, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4091, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4170, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4170, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_16ProvidedInstance_14_provide(((struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -79773,7 +81198,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_14
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16ProvidedInstance__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4091, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_16ProvidedInstance__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -80122,7 +81547,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16ProvidedInstance_18
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4101
+/* "dependency_injector/providers.pyx":4180
* """
*
* def __init__(self, provides=None, name=None): # <<<<<<<<<<<<<<
@@ -80172,7 +81597,7 @@ static int __pyx_pw_19dependency_injector_9providers_15AttributeGetter_1__init__
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4101, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4180, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -80189,7 +81614,7 @@ static int __pyx_pw_19dependency_injector_9providers_15AttributeGetter_1__init__
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4101, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4180, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AttributeGetter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -80213,7 +81638,7 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4102
+ /* "dependency_injector/providers.pyx":4181
*
* def __init__(self, provides=None, name=None):
* self.__provides = None # <<<<<<<<<<<<<<
@@ -80226,14 +81651,14 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":4103
+ /* "dependency_injector/providers.pyx":4182
* def __init__(self, provides=None, name=None):
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
*
* self.__name = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4103, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -80247,12 +81672,12 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4103, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4105
+ /* "dependency_injector/providers.pyx":4184
* self.set_provides(provides)
*
* self.__name = None # <<<<<<<<<<<<<<
@@ -80265,14 +81690,14 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = Py_None;
- /* "dependency_injector/providers.pyx":4106
+ /* "dependency_injector/providers.pyx":4185
*
* self.__name = None
* self.set_name(name) # <<<<<<<<<<<<<<
* super().__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4106, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -80286,19 +81711,19 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4106, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4107
+ /* "dependency_injector/providers.pyx":4186
* self.__name = None
* self.set_name(name)
* super().__init__() # <<<<<<<<<<<<<<
*
* def __repr__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4107, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter));
@@ -80306,10 +81731,10 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4107, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4107, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -80324,12 +81749,12 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4107, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4186, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4101
+ /* "dependency_injector/providers.pyx":4180
* """
*
* def __init__(self, provides=None, name=None): # <<<<<<<<<<<<<<
@@ -80351,11 +81776,11 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4109
+/* "dependency_injector/providers.pyx":4188
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ * return f'{self.__class__.__name__}("{self.name}")'
*
*/
@@ -80385,24 +81810,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":4110
+ /* "dependency_injector/providers.pyx":4189
*
* def __repr__(self):
- * return f'{self.__class__.__name__}(\'{self.name}\')' # <<<<<<<<<<<<<<
+ * return f'{self.__class__.__name__}("{self.name}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -80410,13 +81835,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
__pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__31);
+ __Pyx_INCREF(__pyx_kp_u__37);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__31);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__31);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__37);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__37);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
@@ -80424,22 +81849,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5);
__pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u__32);
+ __Pyx_INCREF(__pyx_kp_u__38);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__32);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__32);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4110, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__38);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__38);
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4109
+ /* "dependency_injector/providers.pyx":4188
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ * return f'{self.__class__.__name__}("{self.name}")'
*
*/
@@ -80456,8 +81881,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4112
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+/* "dependency_injector/providers.pyx":4191
+ * return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -80492,16 +81917,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4113
+ /* "dependency_injector/providers.pyx":4192
*
* def __deepcopy__(self, memo):
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4113, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4113, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -80516,13 +81941,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4113, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4114
+ /* "dependency_injector/providers.pyx":4193
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -80533,7 +81958,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4115
+ /* "dependency_injector/providers.pyx":4194
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -80545,7 +81970,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4114
+ /* "dependency_injector/providers.pyx":4193
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -80554,32 +81979,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
*/
}
- /* "dependency_injector/providers.pyx":4117
+ /* "dependency_injector/providers.pyx":4196
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4117, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4117, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4196, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4118
+ /* "dependency_injector/providers.pyx":4197
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_name(self.name)
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4118, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4197, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4118, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4197, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4118, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4118, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4197, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4197, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -80595,21 +82020,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4118, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4197, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4119
+ /* "dependency_injector/providers.pyx":4198
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name) # <<<<<<<<<<<<<<
* return copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4119, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4119, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -80624,12 +82049,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4119, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4198, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4120
+ /* "dependency_injector/providers.pyx":4199
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name)
* return copied # <<<<<<<<<<<<<<
@@ -80641,8 +82066,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4112
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ /* "dependency_injector/providers.pyx":4191
+ * return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -80664,7 +82089,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4122
+/* "dependency_injector/providers.pyx":4201
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -80695,7 +82120,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_6__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":4123
+ /* "dependency_injector/providers.pyx":4202
*
* def __getattr__(self, item):
* return AttributeGetter(self, item) # <<<<<<<<<<<<<<
@@ -80703,7 +82128,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_6__
* def __getitem__(self, item):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4123, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4202, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -80711,14 +82136,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_6__
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4123, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4202, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4122
+ /* "dependency_injector/providers.pyx":4201
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -80738,7 +82163,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_6__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4125
+/* "dependency_injector/providers.pyx":4204
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -80769,7 +82194,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8__
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":4126
+ /* "dependency_injector/providers.pyx":4205
*
* def __getitem__(self, item):
* return ItemGetter(self, item) # <<<<<<<<<<<<<<
@@ -80777,7 +82202,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8__
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4126, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -80785,14 +82210,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8__
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4126, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4125
+ /* "dependency_injector/providers.pyx":4204
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -80812,7 +82237,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4129
+/* "dependency_injector/providers.pyx":4208
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -80838,7 +82263,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8pr
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4131
+ /* "dependency_injector/providers.pyx":4210
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -80850,7 +82275,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8pr
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4129
+ /* "dependency_injector/providers.pyx":4208
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -80865,7 +82290,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_8pr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4133
+/* "dependency_injector/providers.pyx":4212
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -80892,7 +82317,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_10s
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":4135
+ /* "dependency_injector/providers.pyx":4214
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -80905,7 +82330,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_10s
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":4136
+ /* "dependency_injector/providers.pyx":4215
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -80917,7 +82342,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_10s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4133
+ /* "dependency_injector/providers.pyx":4212
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -80932,7 +82357,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_10s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4139
+/* "dependency_injector/providers.pyx":4218
*
* @property
* def name(self): # <<<<<<<<<<<<<<
@@ -80958,7 +82383,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4na
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4141
+ /* "dependency_injector/providers.pyx":4220
* def name(self):
* """Return name of the attribute."""
* return self.__name # <<<<<<<<<<<<<<
@@ -80970,7 +82395,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4na
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4139
+ /* "dependency_injector/providers.pyx":4218
*
* @property
* def name(self): # <<<<<<<<<<<<<<
@@ -80985,7 +82410,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4na
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4143
+/* "dependency_injector/providers.pyx":4222
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -81012,7 +82437,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_12s
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_name", 0);
- /* "dependency_injector/providers.pyx":4145
+ /* "dependency_injector/providers.pyx":4224
* def set_name(self, name):
* """Set name of the attribute."""
* self.__name = name # <<<<<<<<<<<<<<
@@ -81025,7 +82450,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_12s
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = __pyx_v_name;
- /* "dependency_injector/providers.pyx":4146
+ /* "dependency_injector/providers.pyx":4225
* """Set name of the attribute."""
* self.__name = name
* return self # <<<<<<<<<<<<<<
@@ -81037,7 +82462,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_12s
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4143
+ /* "dependency_injector/providers.pyx":4222
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -81052,7 +82477,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_12s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4148
+/* "dependency_injector/providers.pyx":4227
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -81069,12 +82494,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AttributeGetter_15c
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("call (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "call", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_15AttributeGetter_14call(((struct __pyx_obj_19dependency_injector_9providers_AttributeGetter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -81091,12 +82512,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_14c
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("call", 0);
- /* "dependency_injector/providers.pyx":4149
+ /* "dependency_injector/providers.pyx":4228
*
* def call(self, *args, **kwargs):
* return MethodCaller(self, *args, **kwargs) # <<<<<<<<<<<<<<
@@ -81104,22 +82526,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_14c
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4149, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4149, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4149, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4228, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4148
+ /* "dependency_injector/providers.pyx":4227
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -81131,6 +82556,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_14c
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.AttributeGetter.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -81140,7 +82566,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_14c
}
static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7related_2generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":4152
+/* "dependency_injector/providers.pyx":4231
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -81173,7 +82599,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_7re
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_21___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 4152, __pyx_L1_error)
+ __PYX_ERR(1, 4231, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -81181,7 +82607,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_7re
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_15AttributeGetter_7related_2generator17, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_AttributeGetter___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4152, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_15AttributeGetter_7related_2generator17, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_AttributeGetter___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4231, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -81218,29 +82644,29 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4152, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4231, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4154
+ /* "dependency_injector/providers.pyx":4233
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
* yield self.provides
* yield from super().related
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4154, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_1, 0) != 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4155
+ /* "dependency_injector/providers.pyx":4234
* """Return related providers generator."""
* if is_provider(self.provides):
* yield self.provides # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4155, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4234, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -81251,9 +82677,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4155, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4234, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4154
+ /* "dependency_injector/providers.pyx":4233
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
@@ -81262,14 +82688,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
*/
}
- /* "dependency_injector/providers.pyx":4156
+ /* "dependency_injector/providers.pyx":4235
* if is_provider(self.provides):
* yield self.provides
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4156, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter));
@@ -81277,10 +82703,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4156, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4156, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -81294,17 +82720,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4156, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4235, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4156, __pyx_L1_error)
+ else __PYX_ERR(1, 4235, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":4152
+ /* "dependency_injector/providers.pyx":4231
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -81330,7 +82756,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_15AttributeGetter_7re
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4158
+/* "dependency_injector/providers.pyx":4237
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -81366,7 +82792,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_15AttributeGetter_17_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -81386,7 +82812,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -81394,13 +82820,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -81411,7 +82837,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -81434,30 +82860,33 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
#endif
}
- /* "dependency_injector/providers.pyx":4159
+ /* "dependency_injector/providers.pyx":4238
*
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs) # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4159, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 4159, __pyx_L1_error)
+ __PYX_ERR(1, 4238, __pyx_L1_error)
}
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 4159, __pyx_L1_error)
+ __PYX_ERR(1, 4238, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4159, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4238, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_provided = __pyx_t_2;
- __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_provided = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4160
+ /* "dependency_injector/providers.pyx":4239
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided): # <<<<<<<<<<<<<<
@@ -81467,81 +82896,81 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
__pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_provided) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":4161
+ /* "dependency_injector/providers.pyx":4240
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4161, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4240, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4161, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4161, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_future_result = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_future_result = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4162
+ /* "dependency_injector/providers.pyx":4241
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future()
* provided = asyncio.ensure_future(provided) # <<<<<<<<<<<<<<
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4162, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4162, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- }
- }
- __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_provided) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_provided);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4162, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF_SET(__pyx_v_provided, __pyx_t_2);
- __pyx_t_2 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_provided) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provided);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4241, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_provided, __pyx_t_3);
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4163
+ /* "dependency_injector/providers.pyx":4242
* future_result = asyncio.Future()
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result)) # <<<<<<<<<<<<<<
* return future_result
* return getattr(provided, self.name)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provided, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4163, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provided, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4242, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_8 = NULL;
__pyx_t_5 = 0;
@@ -81558,23 +82987,23 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4163, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -81585,30 +83014,30 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4163, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4242, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
+ __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4163, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4242, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4164
+ /* "dependency_injector/providers.pyx":4243
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result # <<<<<<<<<<<<<<
@@ -81620,7 +83049,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4160
+ /* "dependency_injector/providers.pyx":4239
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided): # <<<<<<<<<<<<<<
@@ -81629,7 +83058,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
*/
}
- /* "dependency_injector/providers.pyx":4165
+ /* "dependency_injector/providers.pyx":4244
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
* return getattr(provided, self.name) # <<<<<<<<<<<<<<
@@ -81637,16 +83066,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_15AttributeGetter__pro
* def _async_provide(self, future_result, future):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4165, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4244, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_GetAttr(__pyx_v_provided, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_GetAttr(__pyx_v_provided, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4165, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4158
+ /* "dependency_injector/providers.pyx":4237
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -81707,11 +83136,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AttributeGetter_17_
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4158, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4237, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4158, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4237, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -81724,14 +83153,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AttributeGetter_17_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4158, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4237, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AttributeGetter._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4158, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4158, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4237, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4237, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_15AttributeGetter_16_provide(((struct __pyx_obj_19dependency_injector_9providers_AttributeGetter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -81752,7 +83181,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_16_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_15AttributeGetter__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4158, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_15AttributeGetter__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -81769,7 +83198,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_16_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4167
+/* "dependency_injector/providers.pyx":4246
* return getattr(provided, self.name)
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -81811,11 +83240,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AttributeGetter_19_
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 4167, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 4246, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4167, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4246, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -81828,7 +83257,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_15AttributeGetter_19_
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4167, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4246, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.AttributeGetter._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -81862,7 +83291,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_provide", 0);
- /* "dependency_injector/providers.pyx":4168
+ /* "dependency_injector/providers.pyx":4247
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -81878,14 +83307,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4169
+ /* "dependency_injector/providers.pyx":4248
* def _async_provide(self, future_result, future):
* try:
* provided = future.result() # <<<<<<<<<<<<<<
* result = getattr(provided, self.name)
* except Exception as exception:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4169, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4248, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -81899,28 +83328,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4169, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4248, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_provided = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":4170
+ /* "dependency_injector/providers.pyx":4249
* try:
* provided = future.result()
* result = getattr(provided, self.name) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4170, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4249, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_GetAttr(__pyx_v_provided, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4170, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_GetAttr(__pyx_v_provided, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4249, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_result = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4168
+ /* "dependency_injector/providers.pyx":4247
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -81929,7 +83358,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
*/
}
- /* "dependency_injector/providers.pyx":4174
+ /* "dependency_injector/providers.pyx":4253
* future_result.set_exception(exception)
* else:
* future_result.set_result(result) # <<<<<<<<<<<<<<
@@ -81937,7 +83366,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
*
*/
/*else:*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4174, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4253, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -81951,7 +83380,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4174, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4253, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -81965,7 +83394,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4171
+ /* "dependency_injector/providers.pyx":4250
* provided = future.result()
* result = getattr(provided, self.name)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -81975,21 +83404,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.AttributeGetter._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 4171, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 4250, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "dependency_injector/providers.pyx":4172
+ /* "dependency_injector/providers.pyx":4251
* result = getattr(provided, self.name)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(result)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4172, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4251, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -82003,7 +83432,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4172, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4251, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -82015,7 +83444,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4168
+ /* "dependency_injector/providers.pyx":4247
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -82035,7 +83464,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_18_
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":4167
+ /* "dependency_injector/providers.pyx":4246
* return getattr(provided, self.name)
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -82406,7 +83835,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_22_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4183
+/* "dependency_injector/providers.pyx":4262
* """
*
* def __init__(self, provides=None, name=None): # <<<<<<<<<<<<<<
@@ -82456,7 +83885,7 @@ static int __pyx_pw_19dependency_injector_9providers_10ItemGetter_1__init__(PyOb
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4183, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4262, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -82473,7 +83902,7 @@ static int __pyx_pw_19dependency_injector_9providers_10ItemGetter_1__init__(PyOb
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4183, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4262, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ItemGetter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -82497,7 +83926,7 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4184
+ /* "dependency_injector/providers.pyx":4263
*
* def __init__(self, provides=None, name=None):
* self.__provides = None # <<<<<<<<<<<<<<
@@ -82510,14 +83939,14 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":4185
+ /* "dependency_injector/providers.pyx":4264
* def __init__(self, provides=None, name=None):
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
*
* self.__name = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4185, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -82531,12 +83960,12 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4185, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4264, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4187
+ /* "dependency_injector/providers.pyx":4266
* self.set_provides(provides)
*
* self.__name = None # <<<<<<<<<<<<<<
@@ -82549,14 +83978,14 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = Py_None;
- /* "dependency_injector/providers.pyx":4188
+ /* "dependency_injector/providers.pyx":4267
*
* self.__name = None
* self.set_name(name) # <<<<<<<<<<<<<<
* super().__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4188, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -82570,19 +83999,19 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4188, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4189
+ /* "dependency_injector/providers.pyx":4268
* self.__name = None
* self.set_name(name)
* super().__init__() # <<<<<<<<<<<<<<
*
* def __repr__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4189, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter));
@@ -82590,10 +84019,10 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4189, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4189, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -82608,12 +84037,12 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4189, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4183
+ /* "dependency_injector/providers.pyx":4262
* """
*
* def __init__(self, provides=None, name=None): # <<<<<<<<<<<<<<
@@ -82635,11 +84064,11 @@ static int __pyx_pf_19dependency_injector_9providers_10ItemGetter___init__(struc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4191
+/* "dependency_injector/providers.pyx":4270
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ * return f'{self.__class__.__name__}("{self.name}")'
*
*/
@@ -82669,24 +84098,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":4192
+ /* "dependency_injector/providers.pyx":4271
*
* def __repr__(self):
- * return f'{self.__class__.__name__}(\'{self.name}\')' # <<<<<<<<<<<<<<
+ * return f'{self.__class__.__name__}("{self.name}")' # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -82694,13 +84123,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
__pyx_t_4 = 0;
- __Pyx_INCREF(__pyx_kp_u__31);
+ __Pyx_INCREF(__pyx_kp_u__37);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__31);
- PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__31);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__37);
+ PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__37);
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
@@ -82708,22 +84137,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5);
__pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u__32);
+ __Pyx_INCREF(__pyx_kp_u__38);
__pyx_t_2 += 2;
- __Pyx_GIVEREF(__pyx_kp_u__32);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__32);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4192, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__38);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__38);
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4191
+ /* "dependency_injector/providers.pyx":4270
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ * return f'{self.__class__.__name__}("{self.name}")'
*
*/
@@ -82740,8 +84169,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_2__repr_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4194
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+/* "dependency_injector/providers.pyx":4273
+ * return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -82776,16 +84205,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4195
+ /* "dependency_injector/providers.pyx":4274
*
* def __deepcopy__(self, memo):
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4195, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4274, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4195, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4274, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -82800,13 +84229,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4195, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4274, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4196
+ /* "dependency_injector/providers.pyx":4275
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -82817,7 +84246,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4197
+ /* "dependency_injector/providers.pyx":4276
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -82829,7 +84258,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4196
+ /* "dependency_injector/providers.pyx":4275
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -82838,32 +84267,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
*/
}
- /* "dependency_injector/providers.pyx":4199
+ /* "dependency_injector/providers.pyx":4278
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name)
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4199, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4199, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4278, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4278, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4200
+ /* "dependency_injector/providers.pyx":4279
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_name(self.name)
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4200, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4200, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4200, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4200, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4279, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -82879,21 +84308,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4200, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4201
+ /* "dependency_injector/providers.pyx":4280
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name) # <<<<<<<<<<<<<<
* return copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4201, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4201, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -82908,12 +84337,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4201, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4202
+ /* "dependency_injector/providers.pyx":4281
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_name(self.name)
* return copied # <<<<<<<<<<<<<<
@@ -82925,8 +84354,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4194
- * return f'{self.__class__.__name__}(\'{self.name}\')'
+ /* "dependency_injector/providers.pyx":4273
+ * return f'{self.__class__.__name__}("{self.name}")'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
* copied = memo.get(id(self))
@@ -82948,7 +84377,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4__deepc
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4204
+/* "dependency_injector/providers.pyx":4283
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -82979,7 +84408,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_6__getat
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":4205
+ /* "dependency_injector/providers.pyx":4284
*
* def __getattr__(self, item):
* return AttributeGetter(self, item) # <<<<<<<<<<<<<<
@@ -82987,7 +84416,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_6__getat
* def __getitem__(self, item):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4205, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -82995,14 +84424,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_6__getat
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4205, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4204
+ /* "dependency_injector/providers.pyx":4283
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -83022,7 +84451,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_6__getat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4207
+/* "dependency_injector/providers.pyx":4286
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -83053,7 +84482,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8__getit
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":4208
+ /* "dependency_injector/providers.pyx":4287
*
* def __getitem__(self, item):
* return ItemGetter(self, item) # <<<<<<<<<<<<<<
@@ -83061,7 +84490,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8__getit
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4208, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -83069,14 +84498,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8__getit
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4208, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4207
+ /* "dependency_injector/providers.pyx":4286
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -83096,7 +84525,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8__getit
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4211
+/* "dependency_injector/providers.pyx":4290
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -83122,7 +84551,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8provide
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4213
+ /* "dependency_injector/providers.pyx":4292
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -83134,7 +84563,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8provide
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4211
+ /* "dependency_injector/providers.pyx":4290
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -83149,7 +84578,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_8provide
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4215
+/* "dependency_injector/providers.pyx":4294
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -83176,7 +84605,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_10set_pr
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":4217
+ /* "dependency_injector/providers.pyx":4296
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -83189,7 +84618,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_10set_pr
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":4218
+ /* "dependency_injector/providers.pyx":4297
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -83201,7 +84630,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_10set_pr
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4215
+ /* "dependency_injector/providers.pyx":4294
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -83216,7 +84645,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_10set_pr
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4221
+/* "dependency_injector/providers.pyx":4300
*
* @property
* def name(self): # <<<<<<<<<<<<<<
@@ -83242,7 +84671,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4name___
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4223
+ /* "dependency_injector/providers.pyx":4302
* def name(self):
* """Return name of the item."""
* return self.__name # <<<<<<<<<<<<<<
@@ -83254,7 +84683,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4name___
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4221
+ /* "dependency_injector/providers.pyx":4300
*
* @property
* def name(self): # <<<<<<<<<<<<<<
@@ -83269,7 +84698,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_4name___
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4225
+/* "dependency_injector/providers.pyx":4304
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -83296,7 +84725,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_12set_na
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_name", 0);
- /* "dependency_injector/providers.pyx":4227
+ /* "dependency_injector/providers.pyx":4306
* def set_name(self, name):
* """Set name of the item."""
* self.__name = name # <<<<<<<<<<<<<<
@@ -83309,7 +84738,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_12set_na
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = __pyx_v_name;
- /* "dependency_injector/providers.pyx":4228
+ /* "dependency_injector/providers.pyx":4307
* """Set name of the item."""
* self.__name = name
* return self # <<<<<<<<<<<<<<
@@ -83321,7 +84750,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_12set_na
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4225
+ /* "dependency_injector/providers.pyx":4304
* return self.__name
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -83336,7 +84765,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_12set_na
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4230
+/* "dependency_injector/providers.pyx":4309
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -83353,12 +84782,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10ItemGetter_15call(P
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("call (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "call", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_10ItemGetter_14call(((struct __pyx_obj_19dependency_injector_9providers_ItemGetter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -83375,12 +84800,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_14call(s
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("call", 0);
- /* "dependency_injector/providers.pyx":4231
+ /* "dependency_injector/providers.pyx":4310
*
* def call(self, *args, **kwargs):
* return MethodCaller(self, *args, **kwargs) # <<<<<<<<<<<<<<
@@ -83388,22 +84814,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_14call(s
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4231, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4231, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4231, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4310, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4230
+ /* "dependency_injector/providers.pyx":4309
* return self
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -83415,6 +84844,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_14call(s
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.ItemGetter.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -83424,7 +84854,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_14call(s
}
static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related_2generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":4234
+/* "dependency_injector/providers.pyx":4313
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -83457,7 +84887,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_7related
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_22___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 4234, __pyx_L1_error)
+ __PYX_ERR(1, 4313, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -83465,7 +84895,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_7related
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_10ItemGetter_7related_2generator18, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ItemGetter___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4234, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_10ItemGetter_7related_2generator18, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_ItemGetter___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4313, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -83502,29 +84932,29 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4234, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4313, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4236
+ /* "dependency_injector/providers.pyx":4315
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
* yield self.provides
* yield from super().related
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4236, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_1, 0) != 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4237
+ /* "dependency_injector/providers.pyx":4316
* """Return related providers generator."""
* if is_provider(self.provides):
* yield self.provides # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4237, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4316, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -83535,9 +84965,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4237, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4316, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4236
+ /* "dependency_injector/providers.pyx":4315
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
@@ -83546,14 +84976,14 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
*/
}
- /* "dependency_injector/providers.pyx":4238
+ /* "dependency_injector/providers.pyx":4317
* if is_provider(self.provides):
* yield self.provides
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4238, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter));
@@ -83561,10 +84991,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4238, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4238, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_1);
@@ -83578,17 +85008,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4238, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4317, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4238, __pyx_L1_error)
+ else __PYX_ERR(1, 4317, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":4234
+ /* "dependency_injector/providers.pyx":4313
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -83614,7 +85044,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_10ItemGetter_7related
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4240
+/* "dependency_injector/providers.pyx":4319
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -83650,7 +85080,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_10ItemGetter_17_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -83670,7 +85100,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -83678,13 +85108,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -83695,7 +85125,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -83718,30 +85148,33 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
#endif
}
- /* "dependency_injector/providers.pyx":4241
+ /* "dependency_injector/providers.pyx":4320
*
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs) # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4241, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(1, 4241, __pyx_L1_error)
+ __PYX_ERR(1, 4320, __pyx_L1_error)
}
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 4241, __pyx_L1_error)
+ __PYX_ERR(1, 4320, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4241, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4320, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_provided = __pyx_t_2;
- __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_v_provided = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4242
+ /* "dependency_injector/providers.pyx":4321
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided): # <<<<<<<<<<<<<<
@@ -83751,81 +85184,81 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
__pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_provided) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":4243
+ /* "dependency_injector/providers.pyx":4322
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4243, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4322, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4322, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4243, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_1)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_3, function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4243, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_future_result = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4322, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_v_future_result = __pyx_t_3;
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4244
+ /* "dependency_injector/providers.pyx":4323
* if __is_future_or_coroutine(provided):
* future_result = asyncio.Future()
* provided = asyncio.ensure_future(provided) # <<<<<<<<<<<<<<
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4244, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4244, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
- }
- }
- __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_provided) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_provided);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4244, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF_SET(__pyx_v_provided, __pyx_t_2);
- __pyx_t_2 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_provided) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provided);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4323, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_provided, __pyx_t_3);
+ __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4245
+ /* "dependency_injector/providers.pyx":4324
* future_result = asyncio.Future()
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result)) # <<<<<<<<<<<<<<
* return future_result
* return provided[self.name]
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_provided, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4245, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_provided, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_8 = NULL;
__pyx_t_5 = 0;
@@ -83842,23 +85275,23 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4245, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4324, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -83869,30 +85302,30 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_5, __pyx_v_future_result);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4245, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_4)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
+ __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4245, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4324, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4246
+ /* "dependency_injector/providers.pyx":4325
* provided = asyncio.ensure_future(provided)
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result # <<<<<<<<<<<<<<
@@ -83904,7 +85337,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4242
+ /* "dependency_injector/providers.pyx":4321
* cpdef object _provide(self, tuple args, dict kwargs):
* provided = self.provides(*args, **kwargs)
* if __is_future_or_coroutine(provided): # <<<<<<<<<<<<<<
@@ -83913,7 +85346,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
*/
}
- /* "dependency_injector/providers.pyx":4247
+ /* "dependency_injector/providers.pyx":4326
* provided.add_done_callback(functools.partial(self._async_provide, future_result))
* return future_result
* return provided[self.name] # <<<<<<<<<<<<<<
@@ -83921,16 +85354,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_10ItemGetter__provide(
* def _async_provide(self, future_result, future):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4247, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4326, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_provided, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_provided, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4247, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __pyx_r = __pyx_t_2;
+ __pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4240
+ /* "dependency_injector/providers.pyx":4319
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -83991,11 +85424,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10ItemGetter_17_provi
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4240, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4319, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4240, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4319, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -84008,14 +85441,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10ItemGetter_17_provi
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4240, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4319, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ItemGetter._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4240, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4240, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4319, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4319, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_10ItemGetter_16_provide(((struct __pyx_obj_19dependency_injector_9providers_ItemGetter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -84036,7 +85469,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_16_provi
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_10ItemGetter__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4240, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_10ItemGetter__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -84053,7 +85486,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_16_provi
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4249
+/* "dependency_injector/providers.pyx":4328
* return provided[self.name]
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -84095,11 +85528,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10ItemGetter_19_async
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 4249, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, 1); __PYX_ERR(1, 4328, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4249, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4328, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -84112,7 +85545,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_10ItemGetter_19_async
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4249, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4328, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.ItemGetter._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -84146,7 +85579,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_provide", 0);
- /* "dependency_injector/providers.pyx":4250
+ /* "dependency_injector/providers.pyx":4329
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -84162,14 +85595,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4251
+ /* "dependency_injector/providers.pyx":4330
* def _async_provide(self, future_result, future):
* try:
* provided = future.result() # <<<<<<<<<<<<<<
* result = provided[self.name]
* except Exception as exception:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4251, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4330, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -84183,28 +85616,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4251, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4330, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_provided = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":4252
+ /* "dependency_injector/providers.pyx":4331
* try:
* provided = future.result()
* result = provided[self.name] # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4252, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4331, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_provided, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4252, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_provided, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4331, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_result = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4250
+ /* "dependency_injector/providers.pyx":4329
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -84213,7 +85646,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
*/
}
- /* "dependency_injector/providers.pyx":4256
+ /* "dependency_injector/providers.pyx":4335
* future_result.set_exception(exception)
* else:
* future_result.set_result(result) # <<<<<<<<<<<<<<
@@ -84221,7 +85654,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
*
*/
/*else:*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4256, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4335, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -84235,7 +85668,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4256, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4335, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -84249,7 +85682,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4253
+ /* "dependency_injector/providers.pyx":4332
* provided = future.result()
* result = provided[self.name]
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -84259,21 +85692,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.ItemGetter._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 4253, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(1, 4332, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "dependency_injector/providers.pyx":4254
+ /* "dependency_injector/providers.pyx":4333
* result = provided[self.name]
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(result)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4254, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4333, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -84287,7 +85720,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4254, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4333, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -84299,7 +85732,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4250
+ /* "dependency_injector/providers.pyx":4329
*
* def _async_provide(self, future_result, future):
* try: # <<<<<<<<<<<<<<
@@ -84319,7 +85752,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":4249
+ /* "dependency_injector/providers.pyx":4328
* return provided[self.name]
*
* def _async_provide(self, future_result, future): # <<<<<<<<<<<<<<
@@ -84690,7 +86123,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_22__sets
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4265
+/* "dependency_injector/providers.pyx":4344
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -84746,7 +86179,7 @@ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(Py
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 4265, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 4344, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -84786,7 +86219,7 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4266
+ /* "dependency_injector/providers.pyx":4345
*
* def __init__(self, provides=None, *args, **kwargs):
* self.__provides = None # <<<<<<<<<<<<<<
@@ -84799,14 +86232,14 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = Py_None;
- /* "dependency_injector/providers.pyx":4267
+ /* "dependency_injector/providers.pyx":4346
* def __init__(self, provides=None, *args, **kwargs):
* self.__provides = None
* self.set_provides(provides) # <<<<<<<<<<<<<<
*
* self.__args = tuple()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4267, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -84820,19 +86253,19 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4267, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4269
+ /* "dependency_injector/providers.pyx":4348
* self.set_provides(provides)
*
* self.__args = tuple() # <<<<<<<<<<<<<<
* self.__args_len = 0
* self.set_args(*args)
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4269, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -84840,7 +86273,7 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4270
+ /* "dependency_injector/providers.pyx":4349
*
* self.__args = tuple()
* self.__args_len = 0 # <<<<<<<<<<<<<<
@@ -84849,28 +86282,28 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
*/
__pyx_v_self->__pyx___args_len = 0;
- /* "dependency_injector/providers.pyx":4271
+ /* "dependency_injector/providers.pyx":4350
* self.__args = tuple()
* self.__args_len = 0
* self.set_args(*args) # <<<<<<<<<<<<<<
*
* self.__kwargs = tuple()
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4271, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4350, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4271, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4350, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4273
+ /* "dependency_injector/providers.pyx":4352
* self.set_args(*args)
*
* self.__kwargs = tuple() # <<<<<<<<<<<<<<
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs)
*/
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4273, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4352, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -84878,7 +86311,7 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4274
+ /* "dependency_injector/providers.pyx":4353
*
* self.__kwargs = tuple()
* self.__kwargs_len = 0 # <<<<<<<<<<<<<<
@@ -84887,59 +86320,62 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
*/
__pyx_v_self->__pyx___kwargs_len = 0;
- /* "dependency_injector/providers.pyx":4275
+ /* "dependency_injector/providers.pyx":4354
* self.__kwargs = tuple()
* self.__kwargs_len = 0
* self.set_kwargs(**kwargs) # <<<<<<<<<<<<<<
*
* super().__init__()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4275, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4275, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4354, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4277
+ /* "dependency_injector/providers.pyx":4356
* self.set_kwargs(**kwargs)
*
* super().__init__() # <<<<<<<<<<<<<<
*
* def __repr__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4277, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4356, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
+ PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
- PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4277, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4277, __pyx_L1_error)
+ PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = NULL;
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
- if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_2, function);
- }
- }
- __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4277, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_t_2 = NULL;
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+ if (likely(__pyx_t_2)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
+ }
+ }
+ __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
+ __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4356, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4265
+ /* "dependency_injector/providers.pyx":4344
* """
*
* def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -84961,7 +86397,7 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4279
+/* "dependency_injector/providers.pyx":4358
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -84995,7 +86431,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "dependency_injector/providers.pyx":4280
+ /* "dependency_injector/providers.pyx":4359
*
* def __repr__(self):
* return f'{self.__class__.__name__}({self.provides})' # <<<<<<<<<<<<<<
@@ -85003,16 +86439,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep
* def __deepcopy__(self, memo):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_3 = 127;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3;
@@ -85024,9 +86460,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep
__pyx_t_2 += 1;
__Pyx_GIVEREF(__pyx_kp_u__7);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__7);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
@@ -85034,18 +86470,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5);
__pyx_t_5 = 0;
- __Pyx_INCREF(__pyx_kp_u__33);
+ __Pyx_INCREF(__pyx_kp_u__39);
__pyx_t_2 += 1;
- __Pyx_GIVEREF(__pyx_kp_u__33);
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__33);
- __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4280, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_kp_u__39);
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__39);
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4279
+ /* "dependency_injector/providers.pyx":4358
* super().__init__()
*
* def __repr__(self): # <<<<<<<<<<<<<<
@@ -85066,7 +86502,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4282
+/* "dependency_injector/providers.pyx":4361
* return f'{self.__class__.__name__}({self.provides})'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -85103,16 +86539,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4283
+ /* "dependency_injector/providers.pyx":4362
*
* def __deepcopy__(self, memo):
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4283, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4283, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -85127,13 +86563,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4283, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4284
+ /* "dependency_injector/providers.pyx":4363
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -85144,7 +86580,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4285
+ /* "dependency_injector/providers.pyx":4364
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -85156,7 +86592,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4284
+ /* "dependency_injector/providers.pyx":4363
* def __deepcopy__(self, memo):
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -85165,32 +86601,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
*/
}
- /* "dependency_injector/providers.pyx":4287
+ /* "dependency_injector/providers.pyx":4366
* return copied
*
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4287, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4287, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4366, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4288
+ /* "dependency_injector/providers.pyx":4367
*
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<<
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4288, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4288, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4288, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4288, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -85206,85 +86642,85 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4288, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4289
+ /* "dependency_injector/providers.pyx":4368
* copied = _memorized_duplicate(self, memo)
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<<
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4289, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4289, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4289, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4368, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4289, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4289, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4289, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":4290
+ /* "dependency_injector/providers.pyx":4369
* copied.set_provides(_copy_if_provider(self.provides, memo))
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<<
* self._copy_overridings(copied, memo)
* return copied
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4290, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4369, __pyx_L1_error)
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.memo = ((PyObject*)__pyx_v_memo);
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(1, 4290, __pyx_L1_error)
+ __PYX_ERR(1, 4369, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_3))) {
- __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4290, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4291
+ /* "dependency_injector/providers.pyx":4370
* copied.set_args(*deepcopy(self.args, memo))
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo) # <<<<<<<<<<<<<<
* return copied
*
*/
- if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 4291, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4291, __pyx_L1_error)
+ if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 4370, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4370, __pyx_L1_error)
((struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0);
- /* "dependency_injector/providers.pyx":4292
+ /* "dependency_injector/providers.pyx":4371
* copied.set_kwargs(**deepcopy(self.kwargs, memo))
* self._copy_overridings(copied, memo)
* return copied # <<<<<<<<<<<<<<
@@ -85296,7 +86732,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4282
+ /* "dependency_injector/providers.pyx":4361
* return f'{self.__class__.__name__}({self.provides})'
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -85319,7 +86755,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4294
+/* "dependency_injector/providers.pyx":4373
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -85350,7 +86786,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "dependency_injector/providers.pyx":4295
+ /* "dependency_injector/providers.pyx":4374
*
* def __getattr__(self, item):
* return AttributeGetter(self, item) # <<<<<<<<<<<<<<
@@ -85358,7 +86794,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get
* def __getitem__(self, item):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4295, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -85366,14 +86802,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4295, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4294
+ /* "dependency_injector/providers.pyx":4373
* return copied
*
* def __getattr__(self, item): # <<<<<<<<<<<<<<
@@ -85393,7 +86829,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4297
+/* "dependency_injector/providers.pyx":4376
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -85424,7 +86860,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getitem__", 0);
- /* "dependency_injector/providers.pyx":4298
+ /* "dependency_injector/providers.pyx":4377
*
* def __getitem__(self, item):
* return ItemGetter(self, item) # <<<<<<<<<<<<<<
@@ -85432,7 +86868,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get
* def call(self, *args, **kwargs):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4298, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
@@ -85440,14 +86876,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4298, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4297
+ /* "dependency_injector/providers.pyx":4376
* return AttributeGetter(self, item)
*
* def __getitem__(self, item): # <<<<<<<<<<<<<<
@@ -85467,7 +86903,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4300
+/* "dependency_injector/providers.pyx":4379
* return ItemGetter(self, item)
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -85484,12 +86920,8 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_11call
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("call (wrapper)", 0);
if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "call", 1))) return NULL;
- if (unlikely(__pyx_kwds)) {
- __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- } else {
- __pyx_v_kwargs = NULL;
- }
+ __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
+ __Pyx_GOTREF(__pyx_v_kwargs);
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_10call(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
@@ -85506,12 +86938,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("call", 0);
- /* "dependency_injector/providers.pyx":4301
+ /* "dependency_injector/providers.pyx":4380
*
* def call(self, *args, **kwargs):
* return MethodCaller(self, *args, **kwargs) # <<<<<<<<<<<<<<
@@ -85519,22 +86952,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call
* @property
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4301, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4301, __pyx_L1_error)
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4301, __pyx_L1_error)
+ __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4380, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_r = __pyx_t_1;
- __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4300
+ /* "dependency_injector/providers.pyx":4379
* return ItemGetter(self, item)
*
* def call(self, *args, **kwargs): # <<<<<<<<<<<<<<
@@ -85546,6 +86982,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.MethodCaller.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
@@ -85554,7 +86991,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4304
+/* "dependency_injector/providers.pyx":4383
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -85580,7 +87017,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provi
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4306
+ /* "dependency_injector/providers.pyx":4385
* def provides(self):
* """Return provider's provides."""
* return self.__provides # <<<<<<<<<<<<<<
@@ -85592,7 +87029,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provi
__pyx_r = __pyx_v_self->__pyx___provides;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4304
+ /* "dependency_injector/providers.pyx":4383
*
* @property
* def provides(self): # <<<<<<<<<<<<<<
@@ -85607,7 +87044,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provi
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4308
+/* "dependency_injector/providers.pyx":4387
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -85634,7 +87071,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_provides", 0);
- /* "dependency_injector/providers.pyx":4310
+ /* "dependency_injector/providers.pyx":4389
* def set_provides(self, provides):
* """Set provider's provides."""
* self.__provides = provides # <<<<<<<<<<<<<<
@@ -85647,7 +87084,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_
__Pyx_DECREF(__pyx_v_self->__pyx___provides);
__pyx_v_self->__pyx___provides = __pyx_v_provides;
- /* "dependency_injector/providers.pyx":4311
+ /* "dependency_injector/providers.pyx":4390
* """Set provider's provides."""
* self.__provides = provides
* return self # <<<<<<<<<<<<<<
@@ -85659,7 +87096,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4308
+ /* "dependency_injector/providers.pyx":4387
* return self.__provides
*
* def set_provides(self, provides): # <<<<<<<<<<<<<<
@@ -85674,7 +87111,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4314
+/* "dependency_injector/providers.pyx":4393
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -85711,19 +87148,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4320
+ /* "dependency_injector/providers.pyx":4399
* cdef list args
*
* args = list() # <<<<<<<<<<<<<<
* for index in range(self.__args_len):
* arg = self.__args[index]
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4320, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4321
+ /* "dependency_injector/providers.pyx":4400
*
* args = list()
* for index in range(self.__args_len): # <<<<<<<<<<<<<<
@@ -85735,7 +87172,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":4322
+ /* "dependency_injector/providers.pyx":4401
* args = list()
* for index in range(self.__args_len):
* arg = self.__args[index] # <<<<<<<<<<<<<<
@@ -85744,15 +87181,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
*/
if (unlikely(__pyx_v_self->__pyx___args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 4322, __pyx_L1_error)
+ __PYX_ERR(1, 4401, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4322, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 4322, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 4401, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4323
+ /* "dependency_injector/providers.pyx":4402
* for index in range(self.__args_len):
* arg = self.__args[index]
* args.append(arg.__value) # <<<<<<<<<<<<<<
@@ -85761,11 +87198,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
*/
__pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 4323, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 4402, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":4324
+ /* "dependency_injector/providers.pyx":4403
* arg = self.__args[index]
* args.append(arg.__value)
* return tuple(args) # <<<<<<<<<<<<<<
@@ -85773,13 +87210,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
* def set_args(self, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4324, __pyx_L1_error)
+ __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4314
+ /* "dependency_injector/providers.pyx":4393
*
* @property
* def args(self): # <<<<<<<<<<<<<<
@@ -85800,7 +87237,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4326
+/* "dependency_injector/providers.pyx":4405
* return tuple(args)
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -85837,14 +87274,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_args", 0);
- /* "dependency_injector/providers.pyx":4333
+ /* "dependency_injector/providers.pyx":4412
* :return: Reference ``self``
* """
* self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<<
* self.__args_len = len(self.__args)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4333, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4412, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___args);
@@ -85852,7 +87289,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_
__pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4334
+ /* "dependency_injector/providers.pyx":4413
* """
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args) # <<<<<<<<<<<<<<
@@ -85863,13 +87300,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 4334, __pyx_L1_error)
+ __PYX_ERR(1, 4413, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4334, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4413, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":4335
+ /* "dependency_injector/providers.pyx":4414
* self.__args = parse_positional_injections(args)
* self.__args_len = len(self.__args)
* return self # <<<<<<<<<<<<<<
@@ -85881,7 +87318,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4326
+ /* "dependency_injector/providers.pyx":4405
* return tuple(args)
*
* def set_args(self, *args): # <<<<<<<<<<<<<<
@@ -85900,7 +87337,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4338
+/* "dependency_injector/providers.pyx":4417
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -85936,19 +87373,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "dependency_injector/providers.pyx":4344
+ /* "dependency_injector/providers.pyx":4423
* cdef dict kwargs
*
* kwargs = dict() # <<<<<<<<<<<<<<
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4344, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4345
+ /* "dependency_injector/providers.pyx":4424
*
* kwargs = dict()
* for index in range(self.__kwargs_len): # <<<<<<<<<<<<<<
@@ -85960,7 +87397,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pyx":4346
+ /* "dependency_injector/providers.pyx":4425
* kwargs = dict()
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index] # <<<<<<<<<<<<<<
@@ -85969,15 +87406,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
*/
if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 4346, __pyx_L1_error)
+ __PYX_ERR(1, 4425, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4346, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 4346, __pyx_L1_error)
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 4425, __pyx_L1_error)
__Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4347
+ /* "dependency_injector/providers.pyx":4426
* for index in range(self.__kwargs_len):
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<<
@@ -85986,11 +87423,11 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
*/
__pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 4347, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 4426, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "dependency_injector/providers.pyx":4348
+ /* "dependency_injector/providers.pyx":4427
* kwarg = self.__kwargs[index]
* kwargs[kwarg.__name] = kwarg.__value
* return kwargs # <<<<<<<<<<<<<<
@@ -86002,7 +87439,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4338
+ /* "dependency_injector/providers.pyx":4417
*
* @property
* def kwargs(self): # <<<<<<<<<<<<<<
@@ -86023,7 +87460,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwarg
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4350
+/* "dependency_injector/providers.pyx":4429
* return kwargs
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -86062,14 +87499,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_kwargs", 0);
- /* "dependency_injector/providers.pyx":4357
+ /* "dependency_injector/providers.pyx":4436
* :return: Reference ``self``
* """
* self.__kwargs = parse_named_injections(kwargs) # <<<<<<<<<<<<<<
* self.__kwargs_len = len(self.__kwargs)
* return self
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4357, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4436, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->__pyx___kwargs);
@@ -86077,7 +87514,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_
__pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4358
+ /* "dependency_injector/providers.pyx":4437
* """
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<<
@@ -86088,13 +87525,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 4358, __pyx_L1_error)
+ __PYX_ERR(1, 4437, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4358, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4437, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_self->__pyx___kwargs_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":4359
+ /* "dependency_injector/providers.pyx":4438
* self.__kwargs = parse_named_injections(kwargs)
* self.__kwargs_len = len(self.__kwargs)
* return self # <<<<<<<<<<<<<<
@@ -86106,7 +87543,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_
__pyx_r = ((PyObject *)__pyx_v_self);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4350
+ /* "dependency_injector/providers.pyx":4429
* return kwargs
*
* def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<<
@@ -86126,7 +87563,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_
}
static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":4362
+/* "dependency_injector/providers.pyx":4441
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -86159,7 +87596,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_7relat
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 4362, __pyx_L1_error)
+ __PYX_ERR(1, 4441, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -86167,7 +87604,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_7relat
__Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_MethodCaller___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4362, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_MethodCaller___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4441, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -86208,29 +87645,29 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4362, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4441, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4364
+ /* "dependency_injector/providers.pyx":4443
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
* yield self.provides
* yield from filter(is_provider, self.args)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4364, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_1, 0) != 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4365
+ /* "dependency_injector/providers.pyx":4444
* """Return related providers generator."""
* if is_provider(self.provides):
* yield self.provides # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4365, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4444, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -86241,9 +87678,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L5_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4365, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4444, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4364
+ /* "dependency_injector/providers.pyx":4443
* def related(self):
* """Return related providers generator."""
* if is_provider(self.provides): # <<<<<<<<<<<<<<
@@ -86252,18 +87689,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
*/
}
- /* "dependency_injector/providers.pyx":4366
+ /* "dependency_injector/providers.pyx":4445
* if is_provider(self.provides):
* yield self.provides
* yield from filter(is_provider, self.args) # <<<<<<<<<<<<<<
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4366, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4366, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4366, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
@@ -86271,7 +87708,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
__pyx_t_1 = 0;
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4366, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4445, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3);
@@ -86285,27 +87722,27 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
__pyx_generator->resume_label = 2;
return __pyx_r;
__pyx_L6_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4366, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4445, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4366, __pyx_L1_error)
+ else __PYX_ERR(1, 4445, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":4367
+ /* "dependency_injector/providers.pyx":4446
* yield self.provides
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<<
* yield from super().related
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
@@ -86320,10 +87757,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
}
__pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
@@ -86331,7 +87768,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
__pyx_t_3 = 0;
__pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4446, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -86345,23 +87782,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
__pyx_generator->resume_label = 3;
return __pyx_r;
__pyx_L7_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4367, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4446, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4367, __pyx_L1_error)
+ else __PYX_ERR(1, 4446, __pyx_L1_error)
}
}
- /* "dependency_injector/providers.pyx":4368
+ /* "dependency_injector/providers.pyx":4447
* yield from filter(is_provider, self.args)
* yield from filter(is_provider, self.kwargs.values())
* yield from super().related # <<<<<<<<<<<<<<
*
* cpdef object _provide(self, tuple args, dict kwargs):
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4368, __pyx_L1_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4447, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller));
@@ -86369,10 +87806,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self));
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4368, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4447, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4368, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4447, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4);
@@ -86386,17 +87823,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
__pyx_generator->resume_label = 4;
return __pyx_r;
__pyx_L8_resume_from_yield_from:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4368, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4447, __pyx_L1_error)
} else {
PyObject* exc_type = __Pyx_PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();
- else __PYX_ERR(1, 4368, __pyx_L1_error)
+ else __PYX_ERR(1, 4447, __pyx_L1_error)
}
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":4362
+ /* "dependency_injector/providers.pyx":4441
*
* @property
* def related(self): # <<<<<<<<<<<<<<
@@ -86424,7 +87861,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4370
+/* "dependency_injector/providers.pyx":4449
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -86460,7 +87897,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide)) {
__Pyx_XDECREF(__pyx_r);
@@ -86480,7 +87917,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
@@ -86488,13 +87925,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -86505,7 +87942,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__Pyx_INCREF(__pyx_v_kwargs);
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
@@ -86528,14 +87965,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
#endif
}
- /* "dependency_injector/providers.pyx":4371
+ /* "dependency_injector/providers.pyx":4450
*
* cpdef object _provide(self, tuple args, dict kwargs):
* call = self.provides() # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(call):
* future_result = asyncio.Future()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4371, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -86549,13 +87986,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4371, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_call = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4372
+ /* "dependency_injector/providers.pyx":4451
* cpdef object _provide(self, tuple args, dict kwargs):
* call = self.provides()
* if __is_future_or_coroutine(call): # <<<<<<<<<<<<<<
@@ -86565,16 +88002,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_call) != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":4373
+ /* "dependency_injector/providers.pyx":4452
* call = self.provides()
* if __is_future_or_coroutine(call):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* call = asyncio.ensure_future(call)
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs))
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4373, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4373, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -86589,22 +88026,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4373, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4374
+ /* "dependency_injector/providers.pyx":4453
* if __is_future_or_coroutine(call):
* future_result = asyncio.Future()
* call = asyncio.ensure_future(call) # <<<<<<<<<<<<<<
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs))
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4374, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4374, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -86619,27 +88056,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_call) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_call);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4374, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_call, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4375
+ /* "dependency_injector/providers.pyx":4454
* future_result = asyncio.Future()
* call = asyncio.ensure_future(call)
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) # <<<<<<<<<<<<<<
* return future_result
* return __call(
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_call, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_call, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_8 = NULL;
__pyx_t_5 = 0;
@@ -86656,7 +88093,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -86665,14 +88102,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
- __pyx_t_9 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
@@ -86689,7 +88126,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__Pyx_GIVEREF(__pyx_v_kwargs);
PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_5, __pyx_v_kwargs);
__pyx_t_6 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
@@ -86707,12 +88144,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4375, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4376
+ /* "dependency_injector/providers.pyx":4455
* call = asyncio.ensure_future(call)
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs))
* return future_result # <<<<<<<<<<<<<<
@@ -86724,7 +88161,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4372
+ /* "dependency_injector/providers.pyx":4451
* cpdef object _provide(self, tuple args, dict kwargs):
* call = self.provides()
* if __is_future_or_coroutine(call): # <<<<<<<<<<<<<<
@@ -86733,7 +88170,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
*/
}
- /* "dependency_injector/providers.pyx":4377
+ /* "dependency_injector/providers.pyx":4456
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs))
* return future_result
* return __call( # <<<<<<<<<<<<<<
@@ -86742,7 +88179,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
*/
__Pyx_XDECREF(__pyx_r);
- /* "dependency_injector/providers.pyx":4380
+ /* "dependency_injector/providers.pyx":4459
* call,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -86752,7 +88189,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_t_1 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":4383
+ /* "dependency_injector/providers.pyx":4462
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -86762,14 +88199,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_t_2 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pyx":4377
+ /* "dependency_injector/providers.pyx":4456
* call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs))
* return future_result
* return __call( # <<<<<<<<<<<<<<
* call,
* args,
*/
- __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, __pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4377, __pyx_L1_error)
+ __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, __pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -86777,7 +88214,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4370
+ /* "dependency_injector/providers.pyx":4449
* yield from super().related
*
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -86838,11 +88275,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_pro
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4370, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4449, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4370, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4449, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -86855,14 +88292,14 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_pro
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4370, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4449, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.MethodCaller._provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4370, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4370, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4449, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4449, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_18_provide(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
/* function exit code */
@@ -86883,7 +88320,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18_pro
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_provide", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_12MethodCaller__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4370, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_12MethodCaller__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -86900,7 +88337,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18_pro
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4387
+/* "dependency_injector/providers.pyx":4466
* )
*
* def _async_provide(self, future_result, args, kwargs, future): # <<<<<<<<<<<<<<
@@ -86948,23 +88385,23 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_21_asy
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 1); __PYX_ERR(1, 4387, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 1); __PYX_ERR(1, 4466, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 2); __PYX_ERR(1, 4387, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 2); __PYX_ERR(1, 4466, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 3); __PYX_ERR(1, 4387, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 3); __PYX_ERR(1, 4466, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4387, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4466, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
@@ -86981,7 +88418,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_21_asy
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4387, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4466, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.MethodCaller._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -87015,7 +88452,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_async_provide", 0);
- /* "dependency_injector/providers.pyx":4388
+ /* "dependency_injector/providers.pyx":4467
*
* def _async_provide(self, future_result, args, kwargs, future):
* try: # <<<<<<<<<<<<<<
@@ -87031,14 +88468,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4389
+ /* "dependency_injector/providers.pyx":4468
* def _async_provide(self, future_result, args, kwargs, future):
* try:
* call = future.result() # <<<<<<<<<<<<<<
* result = __call(
* call,
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4389, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4468, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -87052,22 +88489,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4389, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4468, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_call = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pyx":4392
+ /* "dependency_injector/providers.pyx":4471
* result = __call(
* call,
* args, # <<<<<<<<<<<<<<
* self.__args,
* self.__args_len,
*/
- if (!(likely(PyTuple_CheckExact(__pyx_v_args))||((__pyx_v_args) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_args)->tp_name), 0))) __PYX_ERR(1, 4392, __pyx_L3_error)
+ if (!(likely(PyTuple_CheckExact(__pyx_v_args))||((__pyx_v_args) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_args)->tp_name), 0))) __PYX_ERR(1, 4471, __pyx_L3_error)
- /* "dependency_injector/providers.pyx":4393
+ /* "dependency_injector/providers.pyx":4472
* call,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -87077,16 +88514,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__pyx_t_4 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_4);
- /* "dependency_injector/providers.pyx":4395
+ /* "dependency_injector/providers.pyx":4474
* self.__args,
* self.__args_len,
* kwargs, # <<<<<<<<<<<<<<
* self.__kwargs,
* self.__kwargs_len,
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_kwargs))||((__pyx_v_kwargs) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_kwargs)->tp_name), 0))) __PYX_ERR(1, 4395, __pyx_L3_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_kwargs))||((__pyx_v_kwargs) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_kwargs)->tp_name), 0))) __PYX_ERR(1, 4474, __pyx_L3_error)
- /* "dependency_injector/providers.pyx":4396
+ /* "dependency_injector/providers.pyx":4475
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -87096,21 +88533,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__pyx_t_5 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":4390
+ /* "dependency_injector/providers.pyx":4469
* try:
* call = future.result()
* result = __call( # <<<<<<<<<<<<<<
* call,
* args,
*/
- __pyx_t_6 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, ((PyObject*)__pyx_v_args), ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, ((PyObject*)__pyx_v_kwargs), ((PyObject*)__pyx_t_5), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4390, __pyx_L3_error)
+ __pyx_t_6 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, ((PyObject*)__pyx_v_args), ((PyObject*)__pyx_t_4), __pyx_v_self->__pyx___args_len, ((PyObject*)__pyx_v_kwargs), ((PyObject*)__pyx_t_5), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4469, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4388
+ /* "dependency_injector/providers.pyx":4467
*
* def _async_provide(self, future_result, args, kwargs, future):
* try: # <<<<<<<<<<<<<<
@@ -87119,7 +88556,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
*/
}
- /* "dependency_injector/providers.pyx":4402
+ /* "dependency_injector/providers.pyx":4481
* future_result.set_exception(exception)
* else:
* future_result.set_result(result) # <<<<<<<<<<<<<<
@@ -87127,7 +88564,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4402, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4481, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -87141,7 +88578,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
}
__pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4402, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4481, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -87155,7 +88592,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4399
+ /* "dependency_injector/providers.pyx":4478
* self.__kwargs_len,
* )
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -87165,21 +88602,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.MethodCaller._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(1, 4399, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(1, 4478, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pyx":4400
+ /* "dependency_injector/providers.pyx":4479
* )
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(result)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4400, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4479, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -87193,7 +88630,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4400, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4479, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -87205,7 +88642,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4388
+ /* "dependency_injector/providers.pyx":4467
*
* def _async_provide(self, future_result, args, kwargs, future):
* try: # <<<<<<<<<<<<<<
@@ -87225,7 +88662,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_asy
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pyx":4387
+ /* "dependency_injector/providers.pyx":4466
* )
*
* def _async_provide(self, future_result, args, kwargs, future): # <<<<<<<<<<<<<<
@@ -87928,7 +89365,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Injection_2__setstat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4412
+/* "dependency_injector/providers.pyx":4491
* """Positional injection class."""
*
* def __init__(self, value=None): # <<<<<<<<<<<<<<
@@ -87972,7 +89409,7 @@ static int __pyx_pw_19dependency_injector_9providers_19PositionalInjection_1__in
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4412, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4491, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -87986,7 +89423,7 @@ static int __pyx_pw_19dependency_injector_9providers_19PositionalInjection_1__in
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4412, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4491, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.PositionalInjection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -88010,7 +89447,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4414
+ /* "dependency_injector/providers.pyx":4493
* def __init__(self, value=None):
* """Initializer."""
* self.__value = None # <<<<<<<<<<<<<<
@@ -88023,7 +89460,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value);
__pyx_v_self->__pyx_base.__pyx___value = Py_None;
- /* "dependency_injector/providers.pyx":4415
+ /* "dependency_injector/providers.pyx":4494
* """Initializer."""
* self.__value = None
* self.__is_provider = 0 # <<<<<<<<<<<<<<
@@ -88032,7 +89469,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
*/
__pyx_v_self->__pyx_base.__pyx___is_provider = 0;
- /* "dependency_injector/providers.pyx":4416
+ /* "dependency_injector/providers.pyx":4495
* self.__value = None
* self.__is_provider = 0
* self.__is_delegated = 0 # <<<<<<<<<<<<<<
@@ -88041,7 +89478,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
*/
__pyx_v_self->__pyx_base.__pyx___is_delegated = 0;
- /* "dependency_injector/providers.pyx":4417
+ /* "dependency_injector/providers.pyx":4496
* self.__is_provider = 0
* self.__is_delegated = 0
* self.__call = 0 # <<<<<<<<<<<<<<
@@ -88050,14 +89487,14 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
*/
__pyx_v_self->__pyx_base.__pyx___call = 0;
- /* "dependency_injector/providers.pyx":4418
+ /* "dependency_injector/providers.pyx":4497
* self.__is_delegated = 0
* self.__call = 0
* self.set(value) # <<<<<<<<<<<<<<
* super(PositionalInjection, self).__init__()
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4418, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -88071,19 +89508,19 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4418, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4419
+ /* "dependency_injector/providers.pyx":4498
* self.__call = 0
* self.set(value)
* super(PositionalInjection, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4419, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection));
@@ -88091,10 +89528,10 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4419, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4419, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -88109,12 +89546,12 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4419, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4412
+ /* "dependency_injector/providers.pyx":4491
* """Positional injection class."""
*
* def __init__(self, value=None): # <<<<<<<<<<<<<<
@@ -88136,7 +89573,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4421
+/* "dependency_injector/providers.pyx":4500
* super(PositionalInjection, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -88173,16 +89610,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4423
+ /* "dependency_injector/providers.pyx":4502
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4423, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4423, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -88197,13 +89634,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4423, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4424
+ /* "dependency_injector/providers.pyx":4503
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -88214,7 +89651,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4425
+ /* "dependency_injector/providers.pyx":4504
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -88226,7 +89663,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4424
+ /* "dependency_injector/providers.pyx":4503
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -88235,32 +89672,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
*/
}
- /* "dependency_injector/providers.pyx":4426
+ /* "dependency_injector/providers.pyx":4505
* if copied is not None:
* return copied
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set(_copy_if_provider(self.__value, memo))
* return copied
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4426, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4426, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4505, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4427
+ /* "dependency_injector/providers.pyx":4506
* return copied
* copied = _memorized_duplicate(self, memo)
* copied.set(_copy_if_provider(self.__value, memo)) # <<<<<<<<<<<<<<
* return copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4427, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_v_self->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4427, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4427, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4506, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -88276,12 +89713,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4427, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4428
+ /* "dependency_injector/providers.pyx":4507
* copied = _memorized_duplicate(self, memo)
* copied.set(_copy_if_provider(self.__value, memo))
* return copied # <<<<<<<<<<<<<<
@@ -88293,7 +89730,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4421
+ /* "dependency_injector/providers.pyx":4500
* super(PositionalInjection, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -88316,7 +89753,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4430
+/* "dependency_injector/providers.pyx":4509
* return copied
*
* def get_value(self): # <<<<<<<<<<<<<<
@@ -88347,7 +89784,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_value", 0);
- /* "dependency_injector/providers.pyx":4432
+ /* "dependency_injector/providers.pyx":4511
* def get_value(self):
* """Return injection value."""
* return __get_value(self) # <<<<<<<<<<<<<<
@@ -88355,13 +89792,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
* def get_original_value(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4432, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4430
+ /* "dependency_injector/providers.pyx":4509
* return copied
*
* def get_value(self): # <<<<<<<<<<<<<<
@@ -88380,7 +89817,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4434
+/* "dependency_injector/providers.pyx":4513
* return __get_value(self)
*
* def get_original_value(self): # <<<<<<<<<<<<<<
@@ -88407,7 +89844,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_original_value", 0);
- /* "dependency_injector/providers.pyx":4436
+ /* "dependency_injector/providers.pyx":4515
* def get_original_value(self):
* """Return original value."""
* return self.__value # <<<<<<<<<<<<<<
@@ -88419,7 +89856,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_r = __pyx_v_self->__pyx_base.__pyx___value;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4434
+ /* "dependency_injector/providers.pyx":4513
* return __get_value(self)
*
* def get_original_value(self): # <<<<<<<<<<<<<<
@@ -88434,7 +89871,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4438
+/* "dependency_injector/providers.pyx":4517
* return self.__value
*
* def set(self, value): # <<<<<<<<<<<<<<
@@ -88463,7 +89900,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
int __pyx_t_2;
__Pyx_RefNannySetupContext("set", 0);
- /* "dependency_injector/providers.pyx":4440
+ /* "dependency_injector/providers.pyx":4519
* def set(self, value):
* """Set injection."""
* self.__value = value # <<<<<<<<<<<<<<
@@ -88476,7 +89913,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value);
__pyx_v_self->__pyx_base.__pyx___value = __pyx_v_value;
- /* "dependency_injector/providers.pyx":4441
+ /* "dependency_injector/providers.pyx":4520
* """Set injection."""
* self.__value = value
* self.__is_provider = is_provider(value) # <<<<<<<<<<<<<<
@@ -88485,7 +89922,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
*/
__pyx_v_self->__pyx_base.__pyx___is_provider = ((int)__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_value, 0));
- /* "dependency_injector/providers.pyx":4442
+ /* "dependency_injector/providers.pyx":4521
* self.__value = value
* self.__is_provider = is_provider(value)
* self.__is_delegated = is_delegated(value) # <<<<<<<<<<<<<<
@@ -88494,7 +89931,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
*/
__pyx_v_self->__pyx_base.__pyx___is_delegated = ((int)__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_value, 0));
- /* "dependency_injector/providers.pyx":4443
+ /* "dependency_injector/providers.pyx":4522
* self.__is_provider = is_provider(value)
* self.__is_delegated = is_delegated(value)
* self.__call = (self.__is_provider == 1 and self.__is_delegated == 0) # <<<<<<<<<<<<<<
@@ -88512,7 +89949,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
__pyx_L3_bool_binop_done:;
__pyx_v_self->__pyx_base.__pyx___call = ((int)__pyx_t_1);
- /* "dependency_injector/providers.pyx":4438
+ /* "dependency_injector/providers.pyx":4517
* return self.__value
*
* def set(self, value): # <<<<<<<<<<<<<<
@@ -88837,7 +90274,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4449
+/* "dependency_injector/providers.pyx":4528
* """Keyword injection class."""
*
* def __init__(self, name=None, value=None): # <<<<<<<<<<<<<<
@@ -88891,7 +90328,7 @@ static int __pyx_pw_19dependency_injector_9providers_14NamedInjection_1__init__(
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4449, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4528, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -88908,7 +90345,7 @@ static int __pyx_pw_19dependency_injector_9providers_14NamedInjection_1__init__(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4449, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4528, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.NamedInjection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -88932,7 +90369,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4451
+ /* "dependency_injector/providers.pyx":4530
* def __init__(self, name=None, value=None):
* """Initializer."""
* self.__name = name # <<<<<<<<<<<<<<
@@ -88945,14 +90382,14 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = __pyx_v_name;
- /* "dependency_injector/providers.pyx":4452
+ /* "dependency_injector/providers.pyx":4531
* """Initializer."""
* self.__name = name
* self.set_name(name) # <<<<<<<<<<<<<<
*
* self.__value = None
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4452, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4531, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -88966,12 +90403,12 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4452, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4531, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4454
+ /* "dependency_injector/providers.pyx":4533
* self.set_name(name)
*
* self.__value = None # <<<<<<<<<<<<<<
@@ -88984,7 +90421,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value);
__pyx_v_self->__pyx_base.__pyx___value = Py_None;
- /* "dependency_injector/providers.pyx":4455
+ /* "dependency_injector/providers.pyx":4534
*
* self.__value = None
* self.__is_provider = 0 # <<<<<<<<<<<<<<
@@ -88993,7 +90430,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
*/
__pyx_v_self->__pyx_base.__pyx___is_provider = 0;
- /* "dependency_injector/providers.pyx":4456
+ /* "dependency_injector/providers.pyx":4535
* self.__value = None
* self.__is_provider = 0
* self.__is_delegated = 0 # <<<<<<<<<<<<<<
@@ -89002,7 +90439,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
*/
__pyx_v_self->__pyx_base.__pyx___is_delegated = 0;
- /* "dependency_injector/providers.pyx":4457
+ /* "dependency_injector/providers.pyx":4536
* self.__is_provider = 0
* self.__is_delegated = 0
* self.__call = 0 # <<<<<<<<<<<<<<
@@ -89011,14 +90448,14 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
*/
__pyx_v_self->__pyx_base.__pyx___call = 0;
- /* "dependency_injector/providers.pyx":4458
+ /* "dependency_injector/providers.pyx":4537
* self.__is_delegated = 0
* self.__call = 0
* self.set(value) # <<<<<<<<<<<<<<
*
* super(NamedInjection, self).__init__()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4458, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -89032,19 +90469,19 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4458, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4460
+ /* "dependency_injector/providers.pyx":4539
* self.set(value)
*
* super(NamedInjection, self).__init__() # <<<<<<<<<<<<<<
*
* def __deepcopy__(self, memo):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4460, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection));
@@ -89052,10 +90489,10 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4460, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4460, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -89070,12 +90507,12 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4460, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4449
+ /* "dependency_injector/providers.pyx":4528
* """Keyword injection class."""
*
* def __init__(self, name=None, value=None): # <<<<<<<<<<<<<<
@@ -89097,7 +90534,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4462
+/* "dependency_injector/providers.pyx":4541
* super(NamedInjection, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -89135,16 +90572,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__deepcopy__", 0);
- /* "dependency_injector/providers.pyx":4464
+ /* "dependency_injector/providers.pyx":4543
* def __deepcopy__(self, memo):
* """Create and return full copy of provider."""
* copied = memo.get(id(self)) # <<<<<<<<<<<<<<
* if copied is not None:
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4464, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4543, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4464, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4543, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -89159,13 +90596,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4464, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4543, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4465
+ /* "dependency_injector/providers.pyx":4544
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -89176,7 +90613,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
- /* "dependency_injector/providers.pyx":4466
+ /* "dependency_injector/providers.pyx":4545
* copied = memo.get(id(self))
* if copied is not None:
* return copied # <<<<<<<<<<<<<<
@@ -89188,7 +90625,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4465
+ /* "dependency_injector/providers.pyx":4544
* """Create and return full copy of provider."""
* copied = memo.get(id(self))
* if copied is not None: # <<<<<<<<<<<<<<
@@ -89197,29 +90634,29 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
*/
}
- /* "dependency_injector/providers.pyx":4467
+ /* "dependency_injector/providers.pyx":4546
* if copied is not None:
* return copied
* copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<<
* copied.set_name(self.get_name())
* copied.set(_copy_if_provider(self.__value, memo))
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4467, __pyx_L1_error)
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4467, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4546, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4546, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4468
+ /* "dependency_injector/providers.pyx":4547
* return copied
* copied = _memorized_duplicate(self, memo)
* copied.set_name(self.get_name()) # <<<<<<<<<<<<<<
* copied.set(_copy_if_provider(self.__value, memo))
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4468, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4468, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -89233,7 +90670,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
}
__pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4468, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -89249,24 +90686,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4468, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4469
+ /* "dependency_injector/providers.pyx":4548
* copied = _memorized_duplicate(self, memo)
* copied.set_name(self.get_name())
* copied.set(_copy_if_provider(self.__value, memo)) # <<<<<<<<<<<<<<
* return copied
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4469, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_v_self->__pyx_base.__pyx___value;
__Pyx_INCREF(__pyx_t_3);
- if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4469, __pyx_L1_error)
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4469, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4548, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -89282,12 +90719,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4469, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4470
+ /* "dependency_injector/providers.pyx":4549
* copied.set_name(self.get_name())
* copied.set(_copy_if_provider(self.__value, memo))
* return copied # <<<<<<<<<<<<<<
@@ -89299,7 +90736,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4462
+ /* "dependency_injector/providers.pyx":4541
* super(NamedInjection, self).__init__()
*
* def __deepcopy__(self, memo): # <<<<<<<<<<<<<<
@@ -89323,7 +90760,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4472
+/* "dependency_injector/providers.pyx":4551
* return copied
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -89354,7 +90791,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_name", 0);
- /* "dependency_injector/providers.pyx":4474
+ /* "dependency_injector/providers.pyx":4553
* def get_name(self):
* """Return injection name."""
* return __get_name(self) # <<<<<<<<<<<<<<
@@ -89362,13 +90799,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get
* def set_name(self, name):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4474, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4553, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4472
+ /* "dependency_injector/providers.pyx":4551
* return copied
*
* def get_name(self): # <<<<<<<<<<<<<<
@@ -89387,7 +90824,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4476
+/* "dependency_injector/providers.pyx":4555
* return __get_name(self)
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -89414,7 +90851,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6set
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_name", 0);
- /* "dependency_injector/providers.pyx":4478
+ /* "dependency_injector/providers.pyx":4557
* def set_name(self, name):
* """Set injection name."""
* self.__name = name # <<<<<<<<<<<<<<
@@ -89427,7 +90864,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6set
__Pyx_DECREF(__pyx_v_self->__pyx___name);
__pyx_v_self->__pyx___name = __pyx_v_name;
- /* "dependency_injector/providers.pyx":4476
+ /* "dependency_injector/providers.pyx":4555
* return __get_name(self)
*
* def set_name(self, name): # <<<<<<<<<<<<<<
@@ -89442,7 +90879,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6set
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4480
+/* "dependency_injector/providers.pyx":4559
* self.__name = name
*
* def get_value(self): # <<<<<<<<<<<<<<
@@ -89473,7 +90910,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_8get
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_value", 0);
- /* "dependency_injector/providers.pyx":4482
+ /* "dependency_injector/providers.pyx":4561
* def get_value(self):
* """Return injection value."""
* return __get_value(self) # <<<<<<<<<<<<<<
@@ -89481,13 +90918,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_8get
* def get_original_value(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4482, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4480
+ /* "dependency_injector/providers.pyx":4559
* self.__name = name
*
* def get_value(self): # <<<<<<<<<<<<<<
@@ -89506,7 +90943,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_8get
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4484
+/* "dependency_injector/providers.pyx":4563
* return __get_value(self)
*
* def get_original_value(self): # <<<<<<<<<<<<<<
@@ -89533,7 +90970,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_10ge
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_original_value", 0);
- /* "dependency_injector/providers.pyx":4486
+ /* "dependency_injector/providers.pyx":4565
* def get_original_value(self):
* """Return original value."""
* return self.__value # <<<<<<<<<<<<<<
@@ -89545,7 +90982,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_10ge
__pyx_r = __pyx_v_self->__pyx_base.__pyx___value;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4484
+ /* "dependency_injector/providers.pyx":4563
* return __get_value(self)
*
* def get_original_value(self): # <<<<<<<<<<<<<<
@@ -89560,7 +90997,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_10ge
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4488
+/* "dependency_injector/providers.pyx":4567
* return self.__value
*
* def set(self, value): # <<<<<<<<<<<<<<
@@ -89589,7 +91026,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12se
int __pyx_t_2;
__Pyx_RefNannySetupContext("set", 0);
- /* "dependency_injector/providers.pyx":4490
+ /* "dependency_injector/providers.pyx":4569
* def set(self, value):
* """Set injection."""
* self.__value = value # <<<<<<<<<<<<<<
@@ -89602,7 +91039,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12se
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value);
__pyx_v_self->__pyx_base.__pyx___value = __pyx_v_value;
- /* "dependency_injector/providers.pyx":4491
+ /* "dependency_injector/providers.pyx":4570
* """Set injection."""
* self.__value = value
* self.__is_provider = is_provider(value) # <<<<<<<<<<<<<<
@@ -89611,7 +91048,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12se
*/
__pyx_v_self->__pyx_base.__pyx___is_provider = ((int)__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_value, 0));
- /* "dependency_injector/providers.pyx":4492
+ /* "dependency_injector/providers.pyx":4571
* self.__value = value
* self.__is_provider = is_provider(value)
* self.__is_delegated = is_delegated(value) # <<<<<<<<<<<<<<
@@ -89620,7 +91057,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12se
*/
__pyx_v_self->__pyx_base.__pyx___is_delegated = ((int)__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_value, 0));
- /* "dependency_injector/providers.pyx":4493
+ /* "dependency_injector/providers.pyx":4572
* self.__is_provider = is_provider(value)
* self.__is_delegated = is_delegated(value)
* self.__call = (self.__is_provider == 1 and self.__is_delegated == 0) # <<<<<<<<<<<<<<
@@ -89638,7 +91075,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12se
__pyx_L3_bool_binop_done:;
__pyx_v_self->__pyx_base.__pyx___call = ((int)__pyx_t_1);
- /* "dependency_injector/providers.pyx":4488
+ /* "dependency_injector/providers.pyx":4567
* return self.__value
*
* def set(self, value): # <<<<<<<<<<<<<<
@@ -89977,7 +91414,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_16__
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4498
+/* "dependency_injector/providers.pyx":4577
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cpdef tuple parse_positional_injections(tuple args): # <<<<<<<<<<<<<<
@@ -90005,19 +91442,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parse_positional_injections", 0);
- /* "dependency_injector/providers.pyx":4500
+ /* "dependency_injector/providers.pyx":4579
* cpdef tuple parse_positional_injections(tuple args):
* """Parse positional injections."""
* cdef list injections = list() # <<<<<<<<<<<<<<
* cdef int args_len = len(args)
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4500, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_injections = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4501
+ /* "dependency_injector/providers.pyx":4580
* """Parse positional injections."""
* cdef list injections = list()
* cdef int args_len = len(args) # <<<<<<<<<<<<<<
@@ -90026,12 +91463,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec
*/
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(1, 4501, __pyx_L1_error)
+ __PYX_ERR(1, 4580, __pyx_L1_error)
}
- __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4501, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4580, __pyx_L1_error)
__pyx_v_args_len = __pyx_t_2;
- /* "dependency_injector/providers.pyx":4507
+ /* "dependency_injector/providers.pyx":4586
* cdef PositionalInjection injection
*
* for index in range(args_len): # <<<<<<<<<<<<<<
@@ -90043,7 +91480,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec
for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
__pyx_v_index = __pyx_t_5;
- /* "dependency_injector/providers.pyx":4508
+ /* "dependency_injector/providers.pyx":4587
*
* for index in range(args_len):
* arg = args[index] # <<<<<<<<<<<<<<
@@ -90052,36 +91489,36 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec
*/
if (unlikely(__pyx_v_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 4508, __pyx_L1_error)
+ __PYX_ERR(1, 4587, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_args, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4509
+ /* "dependency_injector/providers.pyx":4588
* for index in range(args_len):
* arg = args[index]
* injection = PositionalInjection(arg) # <<<<<<<<<<<<<<
* injections.append(injection)
*
*/
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4510
+ /* "dependency_injector/providers.pyx":4589
* arg = args[index]
* injection = PositionalInjection(arg)
* injections.append(injection) # <<<<<<<<<<<<<<
*
* return tuple(injections)
*/
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 4510, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 4589, __pyx_L1_error)
}
- /* "dependency_injector/providers.pyx":4512
+ /* "dependency_injector/providers.pyx":4591
* injections.append(injection)
*
* return tuple(injections) # <<<<<<<<<<<<<<
@@ -90089,13 +91526,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4512, __pyx_L1_error)
+ __pyx_t_1 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4498
+ /* "dependency_injector/providers.pyx":4577
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cpdef tuple parse_positional_injections(tuple args): # <<<<<<<<<<<<<<
@@ -90127,7 +91564,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7parse_positional_inj
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("parse_positional_injections (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4498, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4577, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_6parse_positional_injections(__pyx_self, ((PyObject*)__pyx_v_args));
/* function exit code */
@@ -90148,7 +91585,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6parse_positional_inj
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parse_positional_injections", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4498, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4577, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -90165,7 +91602,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6parse_positional_inj
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4517
+/* "dependency_injector/providers.pyx":4596
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cpdef tuple parse_named_injections(dict kwargs): # <<<<<<<<<<<<<<
@@ -90195,19 +91632,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parse_named_injections", 0);
- /* "dependency_injector/providers.pyx":4519
+ /* "dependency_injector/providers.pyx":4598
* cpdef tuple parse_named_injections(dict kwargs):
* """Parse named injections."""
* cdef list injections = list() # <<<<<<<<<<<<<<
*
* cdef object name
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4519, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4598, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_injections = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4525
+ /* "dependency_injector/providers.pyx":4604
* cdef NamedInjection injection
*
* for name, arg in kwargs.items(): # <<<<<<<<<<<<<<
@@ -90216,17 +91653,17 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(1, 4525, __pyx_L1_error)
+ __PYX_ERR(1, 4604, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4604, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -90234,17 +91671,17 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4604, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4604, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -90254,7 +91691,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 4525, __pyx_L1_error)
+ else __PYX_ERR(1, 4604, __pyx_L1_error)
}
break;
}
@@ -90266,7 +91703,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 4525, __pyx_L1_error)
+ __PYX_ERR(1, 4604, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -90279,15 +91716,15 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4525, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4604, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -90295,7 +91732,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4525, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4604, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -90303,7 +91740,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 4525, __pyx_L1_error)
+ __PYX_ERR(1, 4604, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -90311,14 +91748,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
__Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4526
+ /* "dependency_injector/providers.pyx":4605
*
* for name, arg in kwargs.items():
* injection = NamedInjection(name, arg) # <<<<<<<<<<<<<<
* injections.append(injection)
*
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4526, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4605, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -90326,22 +91763,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
__Pyx_INCREF(__pyx_v_arg);
__Pyx_GIVEREF(__pyx_v_arg);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_arg);
- __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection), __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4526, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection), __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4605, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_6));
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4527
+ /* "dependency_injector/providers.pyx":4606
* for name, arg in kwargs.items():
* injection = NamedInjection(name, arg)
* injections.append(injection) # <<<<<<<<<<<<<<
*
* return tuple(injections)
*/
- __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 4527, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 4606, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4525
+ /* "dependency_injector/providers.pyx":4604
* cdef NamedInjection injection
*
* for name, arg in kwargs.items(): # <<<<<<<<<<<<<<
@@ -90351,7 +91788,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4529
+ /* "dependency_injector/providers.pyx":4608
* injections.append(injection)
*
* return tuple(injections) # <<<<<<<<<<<<<<
@@ -90359,13 +91796,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4529, __pyx_L1_error)
+ __pyx_t_2 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4517
+ /* "dependency_injector/providers.pyx":4596
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cpdef tuple parse_named_injections(dict kwargs): # <<<<<<<<<<<<<<
@@ -90402,7 +91839,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9parse_named_injectio
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("parse_named_injections (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4517, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4596, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_8parse_named_injections(__pyx_self, ((PyObject*)__pyx_v_kwargs));
/* function exit code */
@@ -90423,7 +91860,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8parse_named_injectio
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("parse_named_injections", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4517, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4596, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -90440,7 +91877,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8parse_named_injectio
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4546
+/* "dependency_injector/providers.pyx":4625
* """
*
* def __init__(self, Provider overridden, Provider overriding): # <<<<<<<<<<<<<<
@@ -90486,11 +91923,11 @@ static int __pyx_pw_19dependency_injector_9providers_17OverridingContext_1__init
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overriding)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4546, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4625, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4546, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4625, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -90503,14 +91940,14 @@ static int __pyx_pw_19dependency_injector_9providers_17OverridingContext_1__init
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4546, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4625, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.OverridingContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overridden), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overridden", 0))) __PYX_ERR(1, 4546, __pyx_L1_error)
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overriding), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overriding", 0))) __PYX_ERR(1, 4546, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overridden), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overridden", 0))) __PYX_ERR(1, 4625, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overriding), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overriding", 0))) __PYX_ERR(1, 4625, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_17OverridingContext___init__(((struct __pyx_obj_19dependency_injector_9providers_OverridingContext *)__pyx_v_self), __pyx_v_overridden, __pyx_v_overriding);
/* function exit code */
@@ -90533,7 +91970,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4555
+ /* "dependency_injector/providers.pyx":4634
* :type overriding: :py:class:`Provider`
* """
* self.__overridden = overridden # <<<<<<<<<<<<<<
@@ -90546,7 +91983,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___overridden));
__pyx_v_self->__pyx___overridden = __pyx_v_overridden;
- /* "dependency_injector/providers.pyx":4556
+ /* "dependency_injector/providers.pyx":4635
* """
* self.__overridden = overridden
* self.__overriding = overriding # <<<<<<<<<<<<<<
@@ -90559,14 +91996,14 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___overriding));
__pyx_v_self->__pyx___overriding = __pyx_v_overriding;
- /* "dependency_injector/providers.pyx":4557
+ /* "dependency_injector/providers.pyx":4636
* self.__overridden = overridden
* self.__overriding = overriding
* super(OverridingContext, self).__init__() # <<<<<<<<<<<<<<
*
* def __enter__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4557, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext));
@@ -90574,10 +92011,10 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4557, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4557, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -90592,12 +92029,12 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4557, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4546
+ /* "dependency_injector/providers.pyx":4625
* """
*
* def __init__(self, Provider overridden, Provider overriding): # <<<<<<<<<<<<<<
@@ -90619,7 +92056,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4559
+/* "dependency_injector/providers.pyx":4638
* super(OverridingContext, self).__init__()
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -90646,7 +92083,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "dependency_injector/providers.pyx":4561
+ /* "dependency_injector/providers.pyx":4640
* def __enter__(self):
* """Do nothing."""
* return self.__overriding # <<<<<<<<<<<<<<
@@ -90658,7 +92095,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2
__pyx_r = ((PyObject *)__pyx_v_self->__pyx___overriding);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4559
+ /* "dependency_injector/providers.pyx":4638
* super(OverridingContext, self).__init__()
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -90673,7 +92110,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4563
+/* "dependency_injector/providers.pyx":4642
* return self.__overriding
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -90711,14 +92148,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_4
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "dependency_injector/providers.pyx":4565
+ /* "dependency_injector/providers.pyx":4644
* def __exit__(self, *_):
* """Exit overriding context."""
* self.__overridden.reset_last_overriding() # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___overridden), __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4565, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___overridden), __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -90732,12 +92169,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_4
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4565, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4563
+ /* "dependency_injector/providers.pyx":4642
* return self.__overriding
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -91067,7 +92504,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_8
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4570
+/* "dependency_injector/providers.pyx":4649
* cdef class BaseSingletonResetContext(object):
*
* def __init__(self, Provider provider): # <<<<<<<<<<<<<<
@@ -91104,7 +92541,7 @@ static int __pyx_pw_19dependency_injector_9providers_25BaseSingletonResetContext
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4570, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4649, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
@@ -91115,13 +92552,13 @@ static int __pyx_pw_19dependency_injector_9providers_25BaseSingletonResetContext
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4570, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4649, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.BaseSingletonResetContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_provider), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "provider", 0))) __PYX_ERR(1, 4570, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_provider), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "provider", 0))) __PYX_ERR(1, 4649, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext___init__(((struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext *)__pyx_v_self), __pyx_v_provider);
/* function exit code */
@@ -91144,7 +92581,7 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "dependency_injector/providers.pyx":4571
+ /* "dependency_injector/providers.pyx":4650
*
* def __init__(self, Provider provider):
* self.__singleton = provider # <<<<<<<<<<<<<<
@@ -91157,14 +92594,14 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext
__Pyx_DECREF(__pyx_v_self->__pyx___singleton);
__pyx_v_self->__pyx___singleton = ((PyObject *)__pyx_v_provider);
- /* "dependency_injector/providers.pyx":4572
+ /* "dependency_injector/providers.pyx":4651
* def __init__(self, Provider provider):
* self.__singleton = provider
* super().__init__() # <<<<<<<<<<<<<<
*
* def __enter__(self):
*/
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4572, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext));
@@ -91172,10 +92609,10 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4572, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4572, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -91190,12 +92627,12 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4572, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4570
+ /* "dependency_injector/providers.pyx":4649
* cdef class BaseSingletonResetContext(object):
*
* def __init__(self, Provider provider): # <<<<<<<<<<<<<<
@@ -91217,7 +92654,7 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4574
+/* "dependency_injector/providers.pyx":4653
* super().__init__()
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -91243,7 +92680,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "dependency_injector/providers.pyx":4575
+ /* "dependency_injector/providers.pyx":4654
*
* def __enter__(self):
* return self.__singleton # <<<<<<<<<<<<<<
@@ -91255,7 +92692,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC
__pyx_r = __pyx_v_self->__pyx___singleton;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4574
+ /* "dependency_injector/providers.pyx":4653
* super().__init__()
*
* def __enter__(self): # <<<<<<<<<<<<<<
@@ -91270,7 +92707,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4577
+/* "dependency_injector/providers.pyx":4656
* return self.__singleton
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -91305,20 +92742,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "dependency_injector/providers.pyx":4578
+ /* "dependency_injector/providers.pyx":4657
*
* def __exit__(self, *_):
* raise NotImplementedError() # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4578, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __PYX_ERR(1, 4578, __pyx_L1_error)
+ __PYX_ERR(1, 4657, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4577
+ /* "dependency_injector/providers.pyx":4656
* return self.__singleton
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -91629,7 +93066,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4583
+/* "dependency_injector/providers.pyx":4662
* cdef class SingletonResetContext(BaseSingletonResetContext):
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -91666,7 +93103,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "dependency_injector/providers.pyx":4584
+ /* "dependency_injector/providers.pyx":4663
*
* def __exit__(self, *_):
* return self.__singleton.reset() # <<<<<<<<<<<<<<
@@ -91674,7 +93111,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4584, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -91688,14 +93125,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4584, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4583
+ /* "dependency_injector/providers.pyx":4662
* cdef class SingletonResetContext(BaseSingletonResetContext):
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -92009,7 +93446,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4589
+/* "dependency_injector/providers.pyx":4668
* cdef class SingletonFullResetContext(BaseSingletonResetContext):
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -92046,7 +93483,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "dependency_injector/providers.pyx":4590
+ /* "dependency_injector/providers.pyx":4669
*
* def __exit__(self, *_):
* return self.__singleton.full_reset() # <<<<<<<<<<<<<<
@@ -92054,7 +93491,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_full_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4590, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_full_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -92068,14 +93505,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4590, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4589
+ /* "dependency_injector/providers.pyx":4668
* cdef class SingletonFullResetContext(BaseSingletonResetContext):
*
* def __exit__(self, *_): # <<<<<<<<<<<<<<
@@ -92389,7 +93826,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4596
+/* "dependency_injector/providers.pyx":4675
*
*
* cpdef bint is_provider(object instance): # <<<<<<<<<<<<<<
@@ -92410,7 +93847,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_provider", 0);
- /* "dependency_injector/providers.pyx":4604
+ /* "dependency_injector/providers.pyx":4683
* :rtype: bool
* """
* return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<<
@@ -92419,7 +93856,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_
*/
__pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4604, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4683, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_4) {
@@ -92428,14 +93865,14 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_
goto __pyx_L3_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":4605
+ /* "dependency_injector/providers.pyx":4684
* """
* return (not isinstance(instance, CLASS_TYPES) and
* getattr(instance, '__IS_PROVIDER__', False) is True) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_PROVIDER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4605, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_PROVIDER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4684, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = (__pyx_t_2 == Py_True);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -92445,7 +93882,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_
__pyx_r = __pyx_t_1;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4596
+ /* "dependency_injector/providers.pyx":4675
*
*
* cpdef bint is_provider(object instance): # <<<<<<<<<<<<<<
@@ -92486,7 +93923,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10is_provider(CYTHON_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_provider", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4596, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -92503,7 +93940,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10is_provider(CYTHON_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4608
+/* "dependency_injector/providers.pyx":4687
*
*
* cpdef object ensure_is_provider(object instance): # <<<<<<<<<<<<<<
@@ -92527,7 +93964,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("ensure_is_provider", 0);
- /* "dependency_injector/providers.pyx":4619
+ /* "dependency_injector/providers.pyx":4698
* :rtype: :py:class:`dependency_injector.providers.Provider`
* """
* if not is_provider(instance): # <<<<<<<<<<<<<<
@@ -92537,26 +93974,26 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
__pyx_t_1 = ((!(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0) != 0)) != 0);
if (unlikely(__pyx_t_1)) {
- /* "dependency_injector/providers.pyx":4620
+ /* "dependency_injector/providers.pyx":4699
* """
* if not is_provider(instance):
* raise Error('Expected provider instance, ' # <<<<<<<<<<<<<<
* 'got {0}'.format(str(instance)))
* return instance
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4620, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "dependency_injector/providers.pyx":4621
+ /* "dependency_injector/providers.pyx":4700
* if not is_provider(instance):
* raise Error('Expected provider instance, '
* 'got {0}'.format(str(instance))) # <<<<<<<<<<<<<<
* return instance
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Expected_provider_instance_got_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4621, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Expected_provider_instance_got_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4700, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4621, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4700, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -92571,7 +94008,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4621, __pyx_L1_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4700, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -92587,14 +94024,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4620, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __PYX_ERR(1, 4620, __pyx_L1_error)
+ __PYX_ERR(1, 4699, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4619
+ /* "dependency_injector/providers.pyx":4698
* :rtype: :py:class:`dependency_injector.providers.Provider`
* """
* if not is_provider(instance): # <<<<<<<<<<<<<<
@@ -92603,7 +94040,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
*/
}
- /* "dependency_injector/providers.pyx":4622
+ /* "dependency_injector/providers.pyx":4701
* raise Error('Expected provider instance, '
* 'got {0}'.format(str(instance)))
* return instance # <<<<<<<<<<<<<<
@@ -92615,7 +94052,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4608
+ /* "dependency_injector/providers.pyx":4687
*
*
* cpdef object ensure_is_provider(object instance): # <<<<<<<<<<<<<<
@@ -92662,7 +94099,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12ensure_is_provider(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("ensure_is_provider", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4608, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4687, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -92679,7 +94116,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12ensure_is_provider(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4625
+/* "dependency_injector/providers.pyx":4704
*
*
* cpdef bint is_delegated(object instance): # <<<<<<<<<<<<<<
@@ -92700,7 +94137,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_delegated", 0);
- /* "dependency_injector/providers.pyx":4633
+ /* "dependency_injector/providers.pyx":4712
* :rtype: bool
* """
* return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<<
@@ -92709,7 +94146,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx
*/
__pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4633, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4712, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_4) {
@@ -92718,14 +94155,14 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx
goto __pyx_L3_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":4634
+ /* "dependency_injector/providers.pyx":4713
* """
* return (not isinstance(instance, CLASS_TYPES) and
* getattr(instance, '__IS_DELEGATED__', False) is True) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_DELEGATED, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4634, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_DELEGATED, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4713, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = (__pyx_t_2 == Py_True);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -92735,7 +94172,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx
__pyx_r = __pyx_t_1;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4625
+ /* "dependency_injector/providers.pyx":4704
*
*
* cpdef bint is_delegated(object instance): # <<<<<<<<<<<<<<
@@ -92776,7 +94213,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14is_delegated(CYTHON
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_delegated", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4625, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -92793,7 +94230,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14is_delegated(CYTHON
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4637
+/* "dependency_injector/providers.pyx":4716
*
*
* cpdef str represent_provider(object provider, object provides): # <<<<<<<<<<<<<<
@@ -92816,7 +94253,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("represent_provider", 0);
- /* "dependency_injector/providers.pyx":4649
+ /* "dependency_injector/providers.pyx":4728
* :rtype: str
* """
* return '<{provider}({provides}) at {address}>'.format( # <<<<<<<<<<<<<<
@@ -92824,45 +94261,45 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO
* provider.__class__.__name__)),
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_provides_at_address, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4649, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_provides_at_address, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- /* "dependency_injector/providers.pyx":4650
+ /* "dependency_injector/providers.pyx":4729
* """
* return '<{provider}({provides}) at {address}>'.format(
* provider='.'.join((provider.__class__.__module__, # <<<<<<<<<<<<<<
* provider.__class__.__name__)),
* provides=repr(provides) if provides is not None else '',
*/
- __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4650, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4650, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4650, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4651
+ /* "dependency_injector/providers.pyx":4730
* return '<{provider}({provides}) at {address}>'.format(
* provider='.'.join((provider.__class__.__module__,
* provider.__class__.__name__)), # <<<<<<<<<<<<<<
* provides=repr(provides) if provides is not None else '',
* address=hex(id(provider)))
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4651, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4651, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4650
+ /* "dependency_injector/providers.pyx":4729
* """
* return '<{provider}({provides}) at {address}>'.format(
* provider='.'.join((provider.__class__.__module__, # <<<<<<<<<<<<<<
* provider.__class__.__name__)),
* provides=repr(provides) if provides is not None else '',
*/
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4650, __pyx_L1_error)
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
@@ -92870,13 +94307,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
__pyx_t_4 = 0;
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4650, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 4650, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4652
+ /* "dependency_injector/providers.pyx":4731
* provider='.'.join((provider.__class__.__module__,
* provider.__class__.__name__)),
* provides=repr(provides) if provides is not None else '', # <<<<<<<<<<<<<<
@@ -92885,7 +94322,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO
*/
__pyx_t_6 = (__pyx_v_provides != Py_None);
if ((__pyx_t_6 != 0)) {
- __pyx_t_3 = PyObject_Repr(__pyx_v_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4652, __pyx_L1_error)
+ __pyx_t_3 = PyObject_Repr(__pyx_v_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __pyx_t_3;
__pyx_t_3 = 0;
@@ -92893,41 +94330,41 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO
__Pyx_INCREF(__pyx_kp_s__9);
__pyx_t_5 = __pyx_kp_s__9;
}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provides, __pyx_t_5) < 0) __PYX_ERR(1, 4650, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provides, __pyx_t_5) < 0) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4653
+ /* "dependency_injector/providers.pyx":4732
* provider.__class__.__name__)),
* provides=repr(provides) if provides is not None else '',
* address=hex(id(provider))) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_provider); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4653, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_provider); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4653, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_3) < 0) __PYX_ERR(1, 4650, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_3) < 0) __PYX_ERR(1, 4729, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4649
+ /* "dependency_injector/providers.pyx":4728
* :rtype: str
* """
* return '<{provider}({provides}) at {address}>'.format( # <<<<<<<<<<<<<<
* provider='.'.join((provider.__class__.__module__,
* provider.__class__.__name__)),
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4649, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 4649, __pyx_L1_error)
+ if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 4728, __pyx_L1_error)
__pyx_r = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4637
+ /* "dependency_injector/providers.pyx":4716
*
*
* cpdef str represent_provider(object provider, object provides): # <<<<<<<<<<<<<<
@@ -92985,11 +94422,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17represent_provider(
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provides)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, 1); __PYX_ERR(1, 4637, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, 1); __PYX_ERR(1, 4716, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "represent_provider") < 0)) __PYX_ERR(1, 4637, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "represent_provider") < 0)) __PYX_ERR(1, 4716, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -93002,7 +94439,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17represent_provider(
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4637, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4716, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.represent_provider", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -93024,7 +94461,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16represent_provider(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("represent_provider", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(__pyx_v_provider, __pyx_v_provides, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4637, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(__pyx_v_provider, __pyx_v_provides, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -93041,7 +94478,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16represent_provider(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4656
+/* "dependency_injector/providers.pyx":4735
*
*
* cpdef bint is_container_instance(object instance): # <<<<<<<<<<<<<<
@@ -93062,7 +94499,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container_instance", 0);
- /* "dependency_injector/providers.pyx":4664
+ /* "dependency_injector/providers.pyx":4743
* :rtype: bool
* """
* return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<<
@@ -93071,7 +94508,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje
*/
__pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4664, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4743, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_4) {
@@ -93080,14 +94517,14 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje
goto __pyx_L3_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":4665
+ /* "dependency_injector/providers.pyx":4744
* """
* return (not isinstance(instance, CLASS_TYPES) and
* getattr(instance, '__IS_CONTAINER__', False) is True) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4665, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4744, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = (__pyx_t_2 == Py_True);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -93097,7 +94534,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje
__pyx_r = __pyx_t_1;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4656
+ /* "dependency_injector/providers.pyx":4735
*
*
* cpdef bint is_container_instance(object instance): # <<<<<<<<<<<<<<
@@ -93138,7 +94575,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18is_container_instan
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container_instance", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4656, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4735, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -93155,7 +94592,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18is_container_instan
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4668
+/* "dependency_injector/providers.pyx":4747
*
*
* cpdef bint is_container_class(object instance): # <<<<<<<<<<<<<<
@@ -93176,7 +94613,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container_class", 0);
- /* "dependency_injector/providers.pyx":4676
+ /* "dependency_injector/providers.pyx":4755
* :rtype: bool
* """
* return (isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<<
@@ -93185,7 +94622,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject
*/
__pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4676, __pyx_L1_error)
+ __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4755, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
@@ -93194,14 +94631,14 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject
goto __pyx_L3_bool_binop_done;
}
- /* "dependency_injector/providers.pyx":4677
+ /* "dependency_injector/providers.pyx":4756
* """
* return (isinstance(instance, CLASS_TYPES) and
* getattr(instance, '__IS_CONTAINER__', False) is True) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4677, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = (__pyx_t_2 == Py_True);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -93211,7 +94648,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject
__pyx_r = __pyx_t_1;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4668
+ /* "dependency_injector/providers.pyx":4747
*
*
* cpdef bint is_container_class(object instance): # <<<<<<<<<<<<<<
@@ -93252,7 +94689,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20is_container_class(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("is_container_class", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_class(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4668, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_class(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -93269,7 +94706,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20is_container_class(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4680
+/* "dependency_injector/providers.pyx":4759
*
*
* cpdef object deepcopy(object instance, dict memo=None): # <<<<<<<<<<<<<<
@@ -93300,7 +94737,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
}
__Pyx_INCREF(__pyx_v_memo);
- /* "dependency_injector/providers.pyx":4682
+ /* "dependency_injector/providers.pyx":4761
* cpdef object deepcopy(object instance, dict memo=None):
* """Return full copy of provider or container with providers."""
* if memo is None: # <<<<<<<<<<<<<<
@@ -93311,19 +94748,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4683
+ /* "dependency_injector/providers.pyx":4762
* """Return full copy of provider or container with providers."""
* if memo is None:
* memo = dict() # <<<<<<<<<<<<<<
*
* __add_sys_streams(memo)
*/
- __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4683, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4762, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_memo, ((PyObject*)__pyx_t_3));
__pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4682
+ /* "dependency_injector/providers.pyx":4761
* cpdef object deepcopy(object instance, dict memo=None):
* """Return full copy of provider or container with providers."""
* if memo is None: # <<<<<<<<<<<<<<
@@ -93332,14 +94769,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
*/
}
- /* "dependency_injector/providers.pyx":4685
+ /* "dependency_injector/providers.pyx":4764
* memo = dict()
*
* __add_sys_streams(memo) # <<<<<<<<<<<<<<
*
* return copy.deepcopy(instance, memo)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_sys_streams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4685, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_sys_streams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4764, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
@@ -93353,12 +94790,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_memo) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_memo);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4685, __pyx_L1_error)
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4764, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pyx":4687
+ /* "dependency_injector/providers.pyx":4766
* __add_sys_streams(memo)
*
* return copy.deepcopy(instance, memo) # <<<<<<<<<<<<<<
@@ -93366,9 +94803,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
*
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -93386,7 +94823,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_instance, __pyx_v_memo};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
@@ -93394,13 +94831,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_instance, __pyx_v_memo};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
@@ -93411,7 +94848,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
__Pyx_INCREF(__pyx_v_memo);
__Pyx_GIVEREF(__pyx_v_memo);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_memo);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4687, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -93420,7 +94857,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4680
+ /* "dependency_injector/providers.pyx":4759
*
*
* cpdef object deepcopy(object instance, dict memo=None): # <<<<<<<<<<<<<<
@@ -93483,7 +94920,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_23deepcopy(PyObject *
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deepcopy") < 0)) __PYX_ERR(1, 4680, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deepcopy") < 0)) __PYX_ERR(1, 4759, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -93499,13 +94936,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_23deepcopy(PyObject *
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("deepcopy", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4680, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("deepcopy", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4759, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.deepcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4680, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4759, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_22deepcopy(__pyx_self, __pyx_v_instance, __pyx_v_memo);
/* function exit code */
@@ -93529,7 +94966,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_22deepcopy(CYTHON_UNU
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.memo = __pyx_v_memo;
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4680, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4759, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -93546,7 +94983,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_22deepcopy(CYTHON_UNU
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4690
+/* "dependency_injector/providers.pyx":4769
*
*
* def __add_sys_streams(memo): # <<<<<<<<<<<<<<
@@ -93580,79 +95017,79 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24__add_sys_streams(C
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__add_sys_streams", 0);
- /* "dependency_injector/providers.pyx":4696
+ /* "dependency_injector/providers.pyx":4775
* objects graph.
* """
* memo[id(sys.stdin)] = sys.stdin # <<<<<<<<<<<<<<
* memo[id(sys.stdout)] = sys.stdout
* memo[id(sys.stderr)] = sys.stderr
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4696, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4775, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4697
+ /* "dependency_injector/providers.pyx":4776
* """
* memo[id(sys.stdin)] = sys.stdin
* memo[id(sys.stdout)] = sys.stdout # <<<<<<<<<<<<<<
* memo[id(sys.stderr)] = sys.stderr
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(1, 4697, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(1, 4776, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4698
+ /* "dependency_injector/providers.pyx":4777
* memo[id(sys.stdin)] = sys.stdin
* memo[id(sys.stdout)] = sys.stdout
* memo[id(sys.stderr)] = sys.stderr # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4698, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4777, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4690
+ /* "dependency_injector/providers.pyx":4769
*
*
* def __add_sys_streams(memo): # <<<<<<<<<<<<<<
@@ -93675,7 +95112,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24__add_sys_streams(C
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4701
+/* "dependency_injector/providers.pyx":4780
*
*
* def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<<
@@ -93719,11 +95156,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_27merge_dicts(PyObjec
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dict2)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, 1); __PYX_ERR(1, 4701, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, 1); __PYX_ERR(1, 4780, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge_dicts") < 0)) __PYX_ERR(1, 4701, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge_dicts") < 0)) __PYX_ERR(1, 4780, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -93736,7 +95173,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_27merge_dicts(PyObjec
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4701, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4780, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers.merge_dicts", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
@@ -93773,14 +95210,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("merge_dicts", 0);
- /* "dependency_injector/providers.pyx":4713
+ /* "dependency_injector/providers.pyx":4792
* :rtype: dict
* """
* for key, value in dict1.items(): # <<<<<<<<<<<<<<
* if key in dict2:
* if isinstance(value, dict) and isinstance(dict2[key], dict):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -93794,16 +95231,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
__pyx_t_5 = NULL;
} else {
- __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4792, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -93811,17 +95248,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4792, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4792, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -93831,7 +95268,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 4713, __pyx_L1_error)
+ else __PYX_ERR(1, 4792, __pyx_L1_error)
}
break;
}
@@ -93843,7 +95280,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(1, 4713, __pyx_L1_error)
+ __PYX_ERR(1, 4792, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -93856,15 +95293,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4713, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4792, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -93872,7 +95309,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4713, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4792, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -93880,7 +95317,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(1, 4713, __pyx_L1_error)
+ __PYX_ERR(1, 4792, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3);
@@ -93888,18 +95325,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4714
+ /* "dependency_injector/providers.pyx":4793
* """
* for key, value in dict1.items():
* if key in dict2: # <<<<<<<<<<<<<<
* if isinstance(value, dict) and isinstance(dict2[key], dict):
* dict2[key] = merge_dicts(value, dict2[key])
*/
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_dict2, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 4714, __pyx_L1_error)
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_dict2, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 4793, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":4715
+ /* "dependency_injector/providers.pyx":4794
* for key, value in dict1.items():
* if key in dict2:
* if isinstance(value, dict) and isinstance(dict2[key], dict): # <<<<<<<<<<<<<<
@@ -93913,7 +95350,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__pyx_t_10 = __pyx_t_11;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4715, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4794, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = PyDict_Check(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -93922,16 +95359,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__pyx_L9_bool_binop_done:;
if (__pyx_t_10) {
- /* "dependency_injector/providers.pyx":4716
+ /* "dependency_injector/providers.pyx":4795
* if key in dict2:
* if isinstance(value, dict) and isinstance(dict2[key], dict):
* dict2[key] = merge_dicts(value, dict2[key]) # <<<<<<<<<<<<<<
* result = dict1.copy()
* result.update(dict2)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = NULL;
__pyx_t_12 = 0;
@@ -93948,7 +95385,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_value, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -93957,14 +95394,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_value, __pyx_t_3};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -93975,15 +95412,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(PyObject_SetItem(__pyx_v_dict2, __pyx_v_key, __pyx_t_1) < 0)) __PYX_ERR(1, 4716, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_dict2, __pyx_v_key, __pyx_t_1) < 0)) __PYX_ERR(1, 4795, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4715
+ /* "dependency_injector/providers.pyx":4794
* for key, value in dict1.items():
* if key in dict2:
* if isinstance(value, dict) and isinstance(dict2[key], dict): # <<<<<<<<<<<<<<
@@ -93992,7 +95429,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
*/
}
- /* "dependency_injector/providers.pyx":4714
+ /* "dependency_injector/providers.pyx":4793
* """
* for key, value in dict1.items():
* if key in dict2: # <<<<<<<<<<<<<<
@@ -94001,7 +95438,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
*/
}
- /* "dependency_injector/providers.pyx":4713
+ /* "dependency_injector/providers.pyx":4792
* :rtype: dict
* """
* for key, value in dict1.items(): # <<<<<<<<<<<<<<
@@ -94011,14 +95448,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4717
+ /* "dependency_injector/providers.pyx":4796
* if isinstance(value, dict) and isinstance(dict2[key], dict):
* dict2[key] = merge_dicts(value, dict2[key])
* result = dict1.copy() # <<<<<<<<<<<<<<
* result.update(dict2)
* return result
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4717, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -94032,20 +95469,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4717, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4796, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_result = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4718
+ /* "dependency_injector/providers.pyx":4797
* dict2[key] = merge_dicts(value, dict2[key])
* result = dict1.copy()
* result.update(dict2) # <<<<<<<<<<<<<<
* return result
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4718, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
@@ -94059,12 +95496,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
}
__pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_v_dict2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_dict2);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4718, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4719
+ /* "dependency_injector/providers.pyx":4798
* result = dict1.copy()
* result.update(dict2)
* return result # <<<<<<<<<<<<<<
@@ -94076,7 +95513,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4701
+ /* "dependency_injector/providers.pyx":4780
*
*
* def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<<
@@ -94104,7 +95541,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_
}
static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
-/* "dependency_injector/providers.pyx":4722
+/* "dependency_injector/providers.pyx":4801
*
*
* def traverse(*providers, types=None): # <<<<<<<<<<<<<<
@@ -94153,7 +95590,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_29traverse(PyObject *
if (value) { values[index] = value; kw_args--; }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "traverse") < 0)) __PYX_ERR(1, 4722, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "traverse") < 0)) __PYX_ERR(1, 4801, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 0) {
goto __pyx_L5_argtuple_error;
@@ -94163,7 +95600,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_29traverse(PyObject *
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4722, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4801, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_CLEAR(__pyx_v_providers);
__Pyx_AddTraceback("dependency_injector.providers.traverse", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -94190,7 +95627,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_28traverse(CYTHON_UNU
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_24_traverse *)Py_None);
__Pyx_INCREF(Py_None);
- __PYX_ERR(1, 4722, __pyx_L1_error)
+ __PYX_ERR(1, 4801, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
@@ -94201,7 +95638,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_28traverse(CYTHON_UNU
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_providers);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_providers);
{
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_30generator20, __pyx_codeobj__34, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_traverse, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4722, __pyx_L1_error)
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_30generator20, __pyx_codeobj__40, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_traverse, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4801, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
@@ -94242,59 +95679,59 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
return NULL;
}
__pyx_L3_first_run:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4722, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4801, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4724
+ /* "dependency_injector/providers.pyx":4803
* def traverse(*providers, types=None):
* """Return providers traversal generator."""
* visited = set() # <<<<<<<<<<<<<<
* to_visit = set(providers)
*
*/
- __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4724, __pyx_L1_error)
+ __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4803, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_visited = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4725
+ /* "dependency_injector/providers.pyx":4804
* """Return providers traversal generator."""
* visited = set()
* to_visit = set(providers) # <<<<<<<<<<<<<<
*
* if types:
*/
- __pyx_t_1 = PySet_New(__pyx_cur_scope->__pyx_v_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4725, __pyx_L1_error)
+ __pyx_t_1 = PySet_New(__pyx_cur_scope->__pyx_v_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_to_visit = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4727
+ /* "dependency_injector/providers.pyx":4806
* to_visit = set(providers)
*
* if types: # <<<<<<<<<<<<<<
* types = tuple(types)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4727, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4806, __pyx_L1_error)
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4728
+ /* "dependency_injector/providers.pyx":4807
*
* if types:
* types = tuple(types) # <<<<<<<<<<<<<<
*
* while len(to_visit) > 0:
*/
- __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_cur_scope->__pyx_v_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4728, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_cur_scope->__pyx_v_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_cur_scope->__pyx_v_types);
__Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_types, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4727
+ /* "dependency_injector/providers.pyx":4806
* to_visit = set(providers)
*
* if types: # <<<<<<<<<<<<<<
@@ -94303,7 +95740,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
*/
}
- /* "dependency_injector/providers.pyx":4730
+ /* "dependency_injector/providers.pyx":4809
* types = tuple(types)
*
* while len(to_visit) > 0: # <<<<<<<<<<<<<<
@@ -94311,49 +95748,49 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
* visited.add(visiting)
*/
while (1) {
- __pyx_t_3 = PySet_GET_SIZE(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4730, __pyx_L1_error)
+ __pyx_t_3 = PySet_GET_SIZE(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4809, __pyx_L1_error)
__pyx_t_2 = ((__pyx_t_3 > 0) != 0);
if (!__pyx_t_2) break;
- /* "dependency_injector/providers.pyx":4731
+ /* "dependency_injector/providers.pyx":4810
*
* while len(to_visit) > 0:
* visiting = to_visit.pop() # <<<<<<<<<<<<<<
* visited.add(visiting)
*
*/
- __pyx_t_1 = PySet_Pop(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4731, __pyx_L1_error)
+ __pyx_t_1 = PySet_Pop(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4810, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_visiting);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_visiting, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4732
+ /* "dependency_injector/providers.pyx":4811
* while len(to_visit) > 0:
* visiting = to_visit.pop()
* visited.add(visiting) # <<<<<<<<<<<<<<
*
* for child in visiting.related:
*/
- __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_visited, __pyx_cur_scope->__pyx_v_visiting); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4732, __pyx_L1_error)
+ __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_visited, __pyx_cur_scope->__pyx_v_visiting); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4811, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4734
+ /* "dependency_injector/providers.pyx":4813
* visited.add(visiting)
*
* for child in visiting.related: # <<<<<<<<<<<<<<
* if child in visited:
* continue
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_visiting, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_visiting, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0;
__pyx_t_6 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4813, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -94361,17 +95798,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4813, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4813, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4734, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4813, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -94381,7 +95818,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(1, 4734, __pyx_L1_error)
+ else __PYX_ERR(1, 4813, __pyx_L1_error)
}
break;
}
@@ -94392,18 +95829,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4735
+ /* "dependency_injector/providers.pyx":4814
*
* for child in visiting.related:
* if child in visited: # <<<<<<<<<<<<<<
* continue
* to_visit.add(child)
*/
- __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_cur_scope->__pyx_v_child, __pyx_cur_scope->__pyx_v_visited, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4735, __pyx_L1_error)
+ __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_cur_scope->__pyx_v_child, __pyx_cur_scope->__pyx_v_visited, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4814, __pyx_L1_error)
__pyx_t_7 = (__pyx_t_2 != 0);
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":4736
+ /* "dependency_injector/providers.pyx":4815
* for child in visiting.related:
* if child in visited:
* continue # <<<<<<<<<<<<<<
@@ -94412,7 +95849,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
*/
goto __pyx_L7_continue;
- /* "dependency_injector/providers.pyx":4735
+ /* "dependency_injector/providers.pyx":4814
*
* for child in visiting.related:
* if child in visited: # <<<<<<<<<<<<<<
@@ -94421,16 +95858,16 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
*/
}
- /* "dependency_injector/providers.pyx":4737
+ /* "dependency_injector/providers.pyx":4816
* if child in visited:
* continue
* to_visit.add(child) # <<<<<<<<<<<<<<
*
* if types and not isinstance(visiting, types):
*/
- __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_to_visit, __pyx_cur_scope->__pyx_v_child); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4737, __pyx_L1_error)
+ __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_to_visit, __pyx_cur_scope->__pyx_v_child); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4816, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4734
+ /* "dependency_injector/providers.pyx":4813
* visited.add(visiting)
*
* for child in visiting.related: # <<<<<<<<<<<<<<
@@ -94441,26 +95878,26 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4739
+ /* "dependency_injector/providers.pyx":4818
* to_visit.add(child)
*
* if types and not isinstance(visiting, types): # <<<<<<<<<<<<<<
* continue
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4739, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4818, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_7 = __pyx_t_2;
goto __pyx_L11_bool_binop_done;
}
- __pyx_t_2 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_visiting, __pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 4739, __pyx_L1_error)
+ __pyx_t_2 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_visiting, __pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 4818, __pyx_L1_error)
__pyx_t_8 = ((!(__pyx_t_2 != 0)) != 0);
__pyx_t_7 = __pyx_t_8;
__pyx_L11_bool_binop_done:;
if (__pyx_t_7) {
- /* "dependency_injector/providers.pyx":4740
+ /* "dependency_injector/providers.pyx":4819
*
* if types and not isinstance(visiting, types):
* continue # <<<<<<<<<<<<<<
@@ -94469,7 +95906,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
*/
goto __pyx_L5_continue;
- /* "dependency_injector/providers.pyx":4739
+ /* "dependency_injector/providers.pyx":4818
* to_visit.add(child)
*
* if types and not isinstance(visiting, types): # <<<<<<<<<<<<<<
@@ -94478,7 +95915,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
*/
}
- /* "dependency_injector/providers.pyx":4742
+ /* "dependency_injector/providers.pyx":4821
* continue
*
* yield visiting # <<<<<<<<<<<<<<
@@ -94494,12 +95931,12 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L13_resume_from_yield:;
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4742, __pyx_L1_error)
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4821, __pyx_L1_error)
__pyx_L5_continue:;
}
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
- /* "dependency_injector/providers.pyx":4722
+ /* "dependency_injector/providers.pyx":4801
*
*
* def traverse(*providers, types=None): # <<<<<<<<<<<<<<
@@ -94525,17 +95962,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4745
+/* "dependency_injector/providers.pyx":4824
*
*
* def isawaitable(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
/* Python wrapper */
static PyObject *__pyx_pw_19dependency_injector_9providers_32isawaitable(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_31isawaitable[] = "Check if object is a coroutine function.\n\n Return False for any object in Python 3.4 or below.\n ";
+static char __pyx_doc_19dependency_injector_9providers_31isawaitable[] = "Check if object is a coroutine function.";
static PyMethodDef __pyx_mdef_19dependency_injector_9providers_32isawaitable = {"isawaitable", (PyCFunction)__pyx_pw_19dependency_injector_9providers_32isawaitable, METH_O, __pyx_doc_19dependency_injector_9providers_31isawaitable};
static PyObject *__pyx_pw_19dependency_injector_9providers_32isawaitable(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
PyObject *__pyx_r = 0;
@@ -94563,9 +96000,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("isawaitable", 0);
- /* "dependency_injector/providers.pyx":4750
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4826
+ * def isawaitable(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isawaitable(obj)
* except AttributeError:
@@ -94579,17 +96016,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4751
- * """
+ /* "dependency_injector/providers.pyx":4827
+ * """Check if object is a coroutine function."""
* try:
* return inspect.isawaitable(obj) # <<<<<<<<<<<<<<
* except AttributeError:
* return False
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4751, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4827, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4751, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4827, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -94604,16 +96041,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4751, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4827, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L7_try_return;
- /* "dependency_injector/providers.pyx":4750
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4826
+ * def isawaitable(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isawaitable(obj)
* except AttributeError:
@@ -94624,7 +96061,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4752
+ /* "dependency_injector/providers.pyx":4828
* try:
* return inspect.isawaitable(obj)
* except AttributeError: # <<<<<<<<<<<<<<
@@ -94634,12 +96071,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.isawaitable", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4752, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4828, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":4753
+ /* "dependency_injector/providers.pyx":4829
* return inspect.isawaitable(obj)
* except AttributeError:
* return False # <<<<<<<<<<<<<<
@@ -94657,9 +96094,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4750
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4826
+ * def isawaitable(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isawaitable(obj)
* except AttributeError:
@@ -94683,12 +96120,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
goto __pyx_L0;
}
- /* "dependency_injector/providers.pyx":4745
+ /* "dependency_injector/providers.pyx":4824
*
*
* def isawaitable(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
/* function exit code */
@@ -94704,17 +96141,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4756
+/* "dependency_injector/providers.pyx":4832
*
*
* def iscoroutinefunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
/* Python wrapper */
static PyObject *__pyx_pw_19dependency_injector_9providers_34iscoroutinefunction(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_33iscoroutinefunction[] = "Check if object is a coroutine function.\n\n Return False for any object in Python 3.4 or below.\n ";
+static char __pyx_doc_19dependency_injector_9providers_33iscoroutinefunction[] = "Check if object is a coroutine function.";
static PyMethodDef __pyx_mdef_19dependency_injector_9providers_34iscoroutinefunction = {"iscoroutinefunction", (PyCFunction)__pyx_pw_19dependency_injector_9providers_34iscoroutinefunction, METH_O, __pyx_doc_19dependency_injector_9providers_33iscoroutinefunction};
static PyObject *__pyx_pw_19dependency_injector_9providers_34iscoroutinefunction(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
PyObject *__pyx_r = 0;
@@ -94742,9 +96179,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("iscoroutinefunction", 0);
- /* "dependency_injector/providers.pyx":4761
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4834
+ * def iscoroutinefunction(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.iscoroutinefunction(obj)
* except AttributeError:
@@ -94758,17 +96195,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4762
- * """
+ /* "dependency_injector/providers.pyx":4835
+ * """Check if object is a coroutine function."""
* try:
* return inspect.iscoroutinefunction(obj) # <<<<<<<<<<<<<<
* except AttributeError:
* return False
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4762, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4835, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4762, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4835, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -94783,16 +96220,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4762, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4835, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L7_try_return;
- /* "dependency_injector/providers.pyx":4761
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4834
+ * def iscoroutinefunction(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.iscoroutinefunction(obj)
* except AttributeError:
@@ -94803,7 +96240,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4763
+ /* "dependency_injector/providers.pyx":4836
* try:
* return inspect.iscoroutinefunction(obj)
* except AttributeError: # <<<<<<<<<<<<<<
@@ -94813,12 +96250,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.iscoroutinefunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4763, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4836, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":4764
+ /* "dependency_injector/providers.pyx":4837
* return inspect.iscoroutinefunction(obj)
* except AttributeError:
* return False # <<<<<<<<<<<<<<
@@ -94836,9 +96273,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4761
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4834
+ * def iscoroutinefunction(obj):
+ * """Check if object is a coroutine function."""
* try: # <<<<<<<<<<<<<<
* return inspect.iscoroutinefunction(obj)
* except AttributeError:
@@ -94862,12 +96299,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
goto __pyx_L0;
}
- /* "dependency_injector/providers.pyx":4756
+ /* "dependency_injector/providers.pyx":4832
*
*
* def iscoroutinefunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
/* function exit code */
@@ -94883,17 +96320,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4767
+/* "dependency_injector/providers.pyx":4840
*
*
* def isasyncgenfunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is an asynchronous generator function.
- *
+ * """Check if object is an asynchronous generator function."""
+ * try:
*/
/* Python wrapper */
static PyObject *__pyx_pw_19dependency_injector_9providers_36isasyncgenfunction(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_19dependency_injector_9providers_35isasyncgenfunction[] = "Check if object is an asynchronous generator function.\n\n Return False for any object in Python 3.4 or below.\n ";
+static char __pyx_doc_19dependency_injector_9providers_35isasyncgenfunction[] = "Check if object is an asynchronous generator function.";
static PyMethodDef __pyx_mdef_19dependency_injector_9providers_36isasyncgenfunction = {"isasyncgenfunction", (PyCFunction)__pyx_pw_19dependency_injector_9providers_36isasyncgenfunction, METH_O, __pyx_doc_19dependency_injector_9providers_35isasyncgenfunction};
static PyObject *__pyx_pw_19dependency_injector_9providers_36isasyncgenfunction(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
PyObject *__pyx_r = 0;
@@ -94921,9 +96358,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("isasyncgenfunction", 0);
- /* "dependency_injector/providers.pyx":4772
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4842
+ * def isasyncgenfunction(obj):
+ * """Check if object is an asynchronous generator function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isasyncgenfunction(obj)
* except AttributeError:
@@ -94937,17 +96374,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pyx":4773
- * """
+ /* "dependency_injector/providers.pyx":4843
+ * """Check if object is an asynchronous generator function."""
* try:
* return inspect.isasyncgenfunction(obj) # <<<<<<<<<<<<<<
* except AttributeError:
* return False
*/
__Pyx_XDECREF(__pyx_r);
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4773, __pyx_L3_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4843, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4773, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4843, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -94962,16 +96399,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4773, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4843, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L7_try_return;
- /* "dependency_injector/providers.pyx":4772
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4842
+ * def isasyncgenfunction(obj):
+ * """Check if object is an asynchronous generator function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isasyncgenfunction(obj)
* except AttributeError:
@@ -94982,7 +96419,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pyx":4774
+ /* "dependency_injector/providers.pyx":4844
* try:
* return inspect.isasyncgenfunction(obj)
* except AttributeError: # <<<<<<<<<<<<<<
@@ -94992,12 +96429,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.isasyncgenfunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4774, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4844, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pyx":4775
+ /* "dependency_injector/providers.pyx":4845
* return inspect.isasyncgenfunction(obj)
* except AttributeError:
* return False # <<<<<<<<<<<<<<
@@ -95015,9 +96452,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pyx":4772
- * Return False for any object in Python 3.4 or below.
- * """
+ /* "dependency_injector/providers.pyx":4842
+ * def isasyncgenfunction(obj):
+ * """Check if object is an asynchronous generator function."""
* try: # <<<<<<<<<<<<<<
* return inspect.isasyncgenfunction(obj)
* except AttributeError:
@@ -95041,12 +96478,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
goto __pyx_L0;
}
- /* "dependency_injector/providers.pyx":4767
+ /* "dependency_injector/providers.pyx":4840
*
*
* def isasyncgenfunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is an asynchronous generator function.
- *
+ * """Check if object is an asynchronous generator function."""
+ * try:
*/
/* function exit code */
@@ -95062,7 +96499,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction(
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4778
+/* "dependency_injector/providers.pyx":4848
*
*
* cpdef _copy_parent(object from_, object to, dict memo): # <<<<<<<<<<<<<<
@@ -95086,14 +96523,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_parent", 0);
- /* "dependency_injector/providers.pyx":4782
+ /* "dependency_injector/providers.pyx":4852
* copied_parent = (
* deepcopy(from_.parent, memo)
* if is_provider(from_.parent) or is_container_instance(from_.parent) # <<<<<<<<<<<<<<
* else from_.parent
* )
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4782, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_3, 0) != 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -95102,7 +96539,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject
__pyx_t_2 = __pyx_t_4;
goto __pyx_L3_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4782, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = (__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_t_3, 0) != 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -95110,32 +96547,32 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject
__pyx_L3_bool_binop_done:;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pyx":4781
+ /* "dependency_injector/providers.pyx":4851
* """Copy and assign provider parent."""
* copied_parent = (
* deepcopy(from_.parent, memo) # <<<<<<<<<<<<<<
* if is_provider(from_.parent) or is_container_instance(from_.parent)
* else from_.parent
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4781, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4851, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6.__pyx_n = 1;
__pyx_t_6.memo = __pyx_v_memo;
- __pyx_t_5 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4781, __pyx_L1_error)
+ __pyx_t_5 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4851, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
- /* "dependency_injector/providers.pyx":4783
+ /* "dependency_injector/providers.pyx":4853
* deepcopy(from_.parent, memo)
* if is_provider(from_.parent) or is_container_instance(from_.parent)
* else from_.parent # <<<<<<<<<<<<<<
* )
* to.assign_parent(copied_parent)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4783, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = __pyx_t_5;
__pyx_t_5 = 0;
@@ -95143,14 +96580,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject
__pyx_v_copied_parent = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4785
+ /* "dependency_injector/providers.pyx":4855
* else from_.parent
* )
* to.assign_parent(copied_parent) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_to, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4785, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_to, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4855, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -95164,12 +96601,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_copied_parent) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_copied_parent);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4785, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4855, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4778
+ /* "dependency_injector/providers.pyx":4848
*
*
* cpdef _copy_parent(object from_, object to, dict memo): # <<<<<<<<<<<<<<
@@ -95231,17 +96668,17 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_38_copy_parent(PyObje
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_to)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 1); __PYX_ERR(1, 4778, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 1); __PYX_ERR(1, 4848, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 2); __PYX_ERR(1, 4778, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 2); __PYX_ERR(1, 4848, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 4778, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 4848, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
@@ -95256,13 +96693,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_38_copy_parent(PyObje
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4778, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4848, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._copy_parent", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4778, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4848, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_37_copy_parent(__pyx_self, __pyx_v_from_, __pyx_v_to, __pyx_v_memo);
/* function exit code */
@@ -95283,7 +96720,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_37_copy_parent(CYTHON
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_parent", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(__pyx_v_from_, __pyx_v_to, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4778, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(__pyx_v_from_, __pyx_v_to, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -95300,7 +96737,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_37_copy_parent(CYTHON
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4788
+/* "dependency_injector/providers.pyx":4858
*
*
* cpdef object _memorized_duplicate(object instance, dict memo): # <<<<<<<<<<<<<<
@@ -95321,14 +96758,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_memorized_duplicate", 0);
- /* "dependency_injector/providers.pyx":4789
+ /* "dependency_injector/providers.pyx":4859
*
* cpdef object _memorized_duplicate(object instance, dict memo):
* copied = instance.__class__() # <<<<<<<<<<<<<<
* memo[id(instance)] = copied
* return copied
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4789, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
@@ -95342,13 +96779,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4789, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_copied = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4790
+ /* "dependency_injector/providers.pyx":4860
* cpdef object _memorized_duplicate(object instance, dict memo):
* copied = instance.__class__()
* memo[id(instance)] = copied # <<<<<<<<<<<<<<
@@ -95357,14 +96794,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P
*/
if (unlikely(__pyx_v_memo == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(1, 4790, __pyx_L1_error)
+ __PYX_ERR(1, 4860, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4790, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(1, 4790, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(1, 4860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":4791
+ /* "dependency_injector/providers.pyx":4861
* copied = instance.__class__()
* memo[id(instance)] = copied
* return copied # <<<<<<<<<<<<<<
@@ -95376,7 +96813,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P
__pyx_r = __pyx_v_copied;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4788
+ /* "dependency_injector/providers.pyx":4858
*
*
* cpdef object _memorized_duplicate(object instance, dict memo): # <<<<<<<<<<<<<<
@@ -95432,11 +96869,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_40_memorized_duplicat
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, 1); __PYX_ERR(1, 4788, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, 1); __PYX_ERR(1, 4858, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_memorized_duplicate") < 0)) __PYX_ERR(1, 4788, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_memorized_duplicate") < 0)) __PYX_ERR(1, 4858, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -95449,13 +96886,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_40_memorized_duplicat
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4788, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4858, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._memorized_duplicate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4788, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4858, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_39_memorized_duplicate(__pyx_self, __pyx_v_instance, __pyx_v_memo);
/* function exit code */
@@ -95476,7 +96913,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_39_memorized_duplicat
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_memorized_duplicate", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4788, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -95493,7 +96930,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_39_memorized_duplicat
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4794
+/* "dependency_injector/providers.pyx":4864
*
*
* cpdef object _copy_if_provider(object instance, dict memo): # <<<<<<<<<<<<<<
@@ -95513,7 +96950,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_if_provider", 0);
- /* "dependency_injector/providers.pyx":4795
+ /* "dependency_injector/providers.pyx":4865
*
* cpdef object _copy_if_provider(object instance, dict memo):
* if not is_provider(instance): # <<<<<<<<<<<<<<
@@ -95523,7 +96960,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb
__pyx_t_1 = ((!(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0) != 0)) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pyx":4796
+ /* "dependency_injector/providers.pyx":4866
* cpdef object _copy_if_provider(object instance, dict memo):
* if not is_provider(instance):
* return instance # <<<<<<<<<<<<<<
@@ -95535,7 +96972,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4795
+ /* "dependency_injector/providers.pyx":4865
*
* cpdef object _copy_if_provider(object instance, dict memo):
* if not is_provider(instance): # <<<<<<<<<<<<<<
@@ -95544,7 +96981,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb
*/
}
- /* "dependency_injector/providers.pyx":4797
+ /* "dependency_injector/providers.pyx":4867
* if not is_provider(instance):
* return instance
* return deepcopy(instance, memo) # <<<<<<<<<<<<<<
@@ -95554,13 +96991,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb
__Pyx_XDECREF(__pyx_r);
__pyx_t_3.__pyx_n = 1;
__pyx_t_3.memo = __pyx_v_memo;
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4797, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4867, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4794
+ /* "dependency_injector/providers.pyx":4864
*
*
* cpdef object _copy_if_provider(object instance, dict memo): # <<<<<<<<<<<<<<
@@ -95613,11 +97050,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_42_copy_if_provider(P
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, 1); __PYX_ERR(1, 4794, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, 1); __PYX_ERR(1, 4864, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_if_provider") < 0)) __PYX_ERR(1, 4794, __pyx_L3_error)
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_if_provider") < 0)) __PYX_ERR(1, 4864, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
@@ -95630,13 +97067,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_42_copy_if_provider(P
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4794, __pyx_L3_error)
+ __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4864, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("dependency_injector.providers._copy_if_provider", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4794, __pyx_L1_error)
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4864, __pyx_L1_error)
__pyx_r = __pyx_pf_19dependency_injector_9providers_41_copy_if_provider(__pyx_self, __pyx_v_instance, __pyx_v_memo);
/* function exit code */
@@ -95657,7 +97094,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_41_copy_if_provider(C
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy_if_provider", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4794, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4864, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -95674,7 +97111,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_41_copy_if_provider(C
return __pyx_r;
}
-/* "dependency_injector/providers.pyx":4800
+/* "dependency_injector/providers.pyx":4870
*
*
* cpdef str _class_qualname(object instance): # <<<<<<<<<<<<<<
@@ -95697,49 +97134,49 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_class_qualname", 0);
- /* "dependency_injector/providers.pyx":4801
+ /* "dependency_injector/providers.pyx":4871
*
* cpdef str _class_qualname(object instance):
* name = getattr(instance.__class__, '__qualname__', None) # <<<<<<<<<<<<<<
* if not name:
* name = '.'.join((instance.__class__.__module__, instance.__class__.__name__))
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4801, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4871, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_s_qualname, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4801, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_s_qualname, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4871, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_name = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pyx":4802
+ /* "dependency_injector/providers.pyx":4872
* cpdef str _class_qualname(object instance):
* name = getattr(instance.__class__, '__qualname__', None)
* if not name: # <<<<<<<<<<<<<<
* name = '.'.join((instance.__class__.__module__, instance.__class__.__name__))
* return name
*/
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 4802, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 4872, __pyx_L1_error)
__pyx_t_4 = ((!__pyx_t_3) != 0);
if (__pyx_t_4) {
- /* "dependency_injector/providers.pyx":4803
+ /* "dependency_injector/providers.pyx":4873
* name = getattr(instance.__class__, '__qualname__', None)
* if not name:
* name = '.'.join((instance.__class__.__module__, instance.__class__.__name__)) # <<<<<<<<<<<<<<
* return name
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_module); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_module); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
@@ -95747,13 +97184,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
__pyx_t_1 = 0;
__pyx_t_5 = 0;
- __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4803, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pyx":4802
+ /* "dependency_injector/providers.pyx":4872
* cpdef str _class_qualname(object instance):
* name = getattr(instance.__class__, '__qualname__', None)
* if not name: # <<<<<<<<<<<<<<
@@ -95762,18 +97199,18 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje
*/
}
- /* "dependency_injector/providers.pyx":4804
+ /* "dependency_injector/providers.pyx":4874
* if not name:
* name = '.'.join((instance.__class__.__module__, instance.__class__.__name__))
* return name # <<<<<<<<<<<<<<
*/
__Pyx_XDECREF(__pyx_r);
- if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 4804, __pyx_L1_error)
+ if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 4874, __pyx_L1_error)
__Pyx_INCREF(__pyx_v_name);
__pyx_r = ((PyObject*)__pyx_v_name);
goto __pyx_L0;
- /* "dependency_injector/providers.pyx":4800
+ /* "dependency_injector/providers.pyx":4870
*
*
* cpdef str _class_qualname(object instance): # <<<<<<<<<<<<<<
@@ -95817,7 +97254,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_43_class_qualname(CYT
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_class_qualname", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers__class_qualname(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4800, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers__class_qualname(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4870, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
@@ -103873,18 +105310,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
/* "(tree fragment)":4
* cdef object __pyx_PickleError
* cdef object __pyx_result
- * if __pyx_checksum != 0xe1397c7: # <<<<<<<<<<<<<<
+ * if __pyx_checksum != 0xb60170f: # <<<<<<<<<<<<<<
* from pickle import PickleError as __pyx_PickleError
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
*/
- __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xe1397c7) != 0);
+ __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xb60170f) != 0);
if (__pyx_t_1) {
/* "(tree fragment)":5
* cdef object __pyx_result
- * if __pyx_checksum != 0xe1397c7:
+ * if __pyx_checksum != 0xb60170f:
* from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<<
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
* __pyx_result = Configuration.__new__(__pyx_type)
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
@@ -103903,15 +105340,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "(tree fragment)":6
- * if __pyx_checksum != 0xe1397c7:
+ * if __pyx_checksum != 0xb60170f:
* from pickle import PickleError as __pyx_PickleError
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum) # <<<<<<<<<<<<<<
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum) # <<<<<<<<<<<<<<
* __pyx_result = Configuration.__new__(__pyx_type)
* if __pyx_state is not None:
*/
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xe1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xb6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_INCREF(__pyx_v___pyx_PickleError);
@@ -103938,15 +105375,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
/* "(tree fragment)":4
* cdef object __pyx_PickleError
* cdef object __pyx_result
- * if __pyx_checksum != 0xe1397c7: # <<<<<<<<<<<<<<
+ * if __pyx_checksum != 0xb60170f: # <<<<<<<<<<<<<<
* from pickle import PickleError as __pyx_PickleError
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
*/
}
/* "(tree fragment)":7
* from pickle import PickleError as __pyx_PickleError
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
* __pyx_result = Configuration.__new__(__pyx_type) # <<<<<<<<<<<<<<
* if __pyx_state is not None:
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
@@ -103972,7 +105409,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
__pyx_t_3 = 0;
/* "(tree fragment)":8
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
* __pyx_result = Configuration.__new__(__pyx_type)
* if __pyx_state is not None: # <<<<<<<<<<<<<<
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
@@ -103995,7 +105432,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "(tree fragment)":8
- * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe1397c7 = (__async_mode, __children, __last_overriding, __name, __overridden, __overrides, __provides, __strict))" % __pyx_checksum)
+ * raise __pyx_PickleError("Incompatible checksums (%s vs 0xb60170f = (__async_mode, __children, __ini_files, __last_overriding, __name, __overridden, __overrides, __provides, __pydantic_settings, __strict, __yaml_files))" % __pyx_checksum)
* __pyx_result = Configuration.__new__(__pyx_type)
* if __pyx_state is not None: # <<<<<<<<<<<<<<
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
@@ -104008,7 +105445,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
* return __pyx_result # <<<<<<<<<<<<<<
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state):
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v___pyx_result);
@@ -104041,8 +105478,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_80__pyx_unpickle_Conf
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
* return __pyx_result
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
*/
static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configuration__set_state(struct __pyx_obj_19dependency_injector_9providers_Configuration *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
@@ -104065,9 +105502,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
/* "(tree fragment)":12
* return __pyx_result
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state):
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7] # <<<<<<<<<<<<<<
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
- * __pyx_result.__dict__.update(__pyx_state[8])
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10] # <<<<<<<<<<<<<<
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ * __pyx_result.__dict__.update(__pyx_state[11])
*/
if (unlikely(__pyx_v___pyx_state == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
@@ -104096,6 +105533,18 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
}
__pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
+ if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v___pyx_result->__pyx___ini_files);
+ __Pyx_DECREF(__pyx_v___pyx_result->__pyx___ini_files);
+ __pyx_v___pyx_result->__pyx___ini_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+ if (unlikely(__pyx_v___pyx_state == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(2, 12, __pyx_L1_error)
+ }
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx___last_overriding);
@@ -104106,7 +105555,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 12, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
@@ -104118,7 +105567,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 12, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
@@ -104130,7 +105579,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 12, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GIVEREF(__pyx_t_1);
@@ -104142,7 +105591,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 12, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx___provides);
@@ -104153,24 +105602,48 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 12, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v___pyx_result->__pyx___pydantic_settings);
+ __Pyx_DECREF(__pyx_v___pyx_result->__pyx___pydantic_settings);
+ __pyx_v___pyx_result->__pyx___pydantic_settings = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
+ if (unlikely(__pyx_v___pyx_state == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(2, 12, __pyx_L1_error)
+ }
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v___pyx_result->__pyx___strict = __pyx_t_3;
+ if (unlikely(__pyx_v___pyx_state == Py_None)) {
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+ __PYX_ERR(2, 12, __pyx_L1_error)
+ }
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error)
+ __Pyx_GIVEREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_v___pyx_result->__pyx___yaml_files);
+ __Pyx_DECREF(__pyx_v___pyx_result->__pyx___yaml_files);
+ __pyx_v___pyx_result->__pyx___yaml_files = ((PyObject*)__pyx_t_1);
+ __pyx_t_1 = 0;
/* "(tree fragment)":13
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state):
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
- * __pyx_result.__dict__.update(__pyx_state[8])
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
+ * __pyx_result.__dict__.update(__pyx_state[11])
*/
if (unlikely(__pyx_v___pyx_state == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
__PYX_ERR(2, 13, __pyx_L1_error)
}
__pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error)
- __pyx_t_5 = ((__pyx_t_4 > 8) != 0);
+ __pyx_t_5 = ((__pyx_t_4 > 11) != 0);
if (__pyx_t_5) {
} else {
__pyx_t_3 = __pyx_t_5;
@@ -104183,9 +105656,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
if (__pyx_t_3) {
/* "(tree fragment)":14
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
- * __pyx_result.__dict__.update(__pyx_state[8]) # <<<<<<<<<<<<<<
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ * __pyx_result.__dict__.update(__pyx_state[11]) # <<<<<<<<<<<<<<
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
@@ -104196,7 +105669,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(2, 14, __pyx_L1_error)
}
- __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
@@ -104218,9 +105691,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
/* "(tree fragment)":13
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state):
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
- * __pyx_result.__dict__.update(__pyx_state[8])
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
+ * __pyx_result.__dict__.update(__pyx_state[11])
*/
}
@@ -104228,8 +105701,8 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Configu
* __pyx_unpickle_Configuration__set_state( __pyx_result, __pyx_state)
* return __pyx_result
* cdef __pyx_unpickle_Configuration__set_state(Configuration __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<
- * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]; __pyx_result.__strict = __pyx_state[7]
- * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ * __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__children = __pyx_state[1]; __pyx_result.__ini_files = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__name = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7]; __pyx_result.__pydantic_settings = __pyx_state[8]; __pyx_result.__strict = __pyx_state[9]; __pyx_result.__yaml_files = __pyx_state[10]
+ * if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
*/
/* function exit code */
@@ -118167,7 +119640,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_Singlet
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":338
+/* "dependency_injector/providers.pxd":341
*
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self): # <<<<<<<<<<<<<<
@@ -118180,7 +119653,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get_name", 0);
- /* "dependency_injector/providers.pxd":339
+ /* "dependency_injector/providers.pxd":342
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self):
* return self.__name # <<<<<<<<<<<<<<
@@ -118192,7 +119665,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
__pyx_r = __pyx_v_self->__pyx___name;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":338
+ /* "dependency_injector/providers.pxd":341
*
* # Inline helper functions
* cdef inline object __get_name(NamedInjection self): # <<<<<<<<<<<<<<
@@ -118207,7 +119680,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_na
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":342
+/* "dependency_injector/providers.pxd":345
*
*
* cdef inline object __get_value(Injection self): # <<<<<<<<<<<<<<
@@ -118227,7 +119700,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get_value", 0);
- /* "dependency_injector/providers.pxd":343
+ /* "dependency_injector/providers.pxd":346
*
* cdef inline object __get_value(Injection self):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -118237,7 +119710,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_t_1 = ((__pyx_v_self->__pyx___call == 0) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pxd":344
+ /* "dependency_injector/providers.pxd":347
* cdef inline object __get_value(Injection self):
* if self.__call == 0:
* return self.__value # <<<<<<<<<<<<<<
@@ -118249,7 +119722,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_r = __pyx_v_self->__pyx___value;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":343
+ /* "dependency_injector/providers.pxd":346
*
* cdef inline object __get_value(Injection self):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -118258,7 +119731,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
*/
}
- /* "dependency_injector/providers.pxd":345
+ /* "dependency_injector/providers.pxd":348
* if self.__call == 0:
* return self.__value
* return self.__value() # <<<<<<<<<<<<<<
@@ -118279,14 +119752,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":342
+ /* "dependency_injector/providers.pxd":345
*
*
* cdef inline object __get_value(Injection self): # <<<<<<<<<<<<<<
@@ -118307,7 +119780,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":348
+/* "dependency_injector/providers.pxd":351
*
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs): # <<<<<<<<<<<<<<
@@ -118320,12 +119793,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__Pyx_RefNannyDeclarations
int __pyx_t_1;
PyObject *__pyx_t_2 = NULL;
+ PyObject *__pyx_t_3 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get_value_kwargs", 0);
- /* "dependency_injector/providers.pxd":349
+ /* "dependency_injector/providers.pxd":352
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -118335,7 +119809,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_t_1 = ((__pyx_v_self->__pyx___call == 0) != 0);
if (__pyx_t_1) {
- /* "dependency_injector/providers.pxd":350
+ /* "dependency_injector/providers.pxd":353
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0:
* return self.__value # <<<<<<<<<<<<<<
@@ -118347,7 +119821,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__pyx_r = __pyx_v_self->__pyx___value;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":349
+ /* "dependency_injector/providers.pxd":352
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs):
* if self.__call == 0: # <<<<<<<<<<<<<<
@@ -118356,7 +119830,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
*/
}
- /* "dependency_injector/providers.pxd":351
+ /* "dependency_injector/providers.pxd":354
* if self.__call == 0:
* return self.__value
* return self.__value(**kwargs) # <<<<<<<<<<<<<<
@@ -118366,15 +119840,18 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(0, 351, __pyx_L1_error)
+ __PYX_ERR(0, 354, __pyx_L1_error)
}
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___value, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_r = __pyx_t_2;
- __pyx_t_2 = 0;
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_self->__pyx___value, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __pyx_r = __pyx_t_3;
+ __pyx_t_3 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":348
+ /* "dependency_injector/providers.pxd":351
*
*
* cdef inline object __get_value_kwargs(Injection self, dict kwargs): # <<<<<<<<<<<<<<
@@ -118385,6 +119862,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
+ __Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("dependency_injector.providers.__get_value_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
@@ -118393,7 +119871,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___get_va
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":354
+/* "dependency_injector/providers.pxd":357
*
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs): # <<<<<<<<<<<<<<
@@ -118426,31 +119904,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__separate_prefixed_kwargs", 0);
- /* "dependency_injector/providers.pxd":355
+ /* "dependency_injector/providers.pxd":358
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
* cdef dict plain_kwargs = {} # <<<<<<<<<<<<<<
* cdef dict prefixed_kwargs = {}
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_plain_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":356
+ /* "dependency_injector/providers.pxd":359
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
* cdef dict plain_kwargs = {}
* cdef dict prefixed_kwargs = {} # <<<<<<<<<<<<<<
*
* for key, value in kwargs.items():
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_prefixed_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":358
+ /* "dependency_injector/providers.pxd":361
* cdef dict prefixed_kwargs = {}
*
* for key, value in kwargs.items(): # <<<<<<<<<<<<<<
@@ -118459,17 +119937,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(0, 358, __pyx_L1_error)
+ __PYX_ERR(0, 361, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 361, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -118477,17 +119955,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 361, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 361, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -118497,7 +119975,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 358, __pyx_L1_error)
+ else __PYX_ERR(0, 361, __pyx_L1_error)
}
break;
}
@@ -118509,7 +119987,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 358, __pyx_L1_error)
+ __PYX_ERR(0, 361, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -118522,15 +120000,15 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 358, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 361, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -118538,7 +120016,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 358, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -118546,7 +120024,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 358, __pyx_L1_error)
+ __PYX_ERR(0, 361, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5);
@@ -118554,27 +120032,27 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":359
+ /* "dependency_injector/providers.pxd":362
*
* for key, value in kwargs.items():
* if '__' not in key: # <<<<<<<<<<<<<<
* plain_kwargs[key] = value
* continue
*/
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s__10, __pyx_v_key, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 359, __pyx_L1_error)
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s__10, __pyx_v_key, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 362, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pxd":360
+ /* "dependency_injector/providers.pxd":363
* for key, value in kwargs.items():
* if '__' not in key:
* plain_kwargs[key] = value # <<<<<<<<<<<<<<
* continue
*
*/
- if (unlikely(PyDict_SetItem(__pyx_v_plain_kwargs, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(0, 360, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_plain_kwargs, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(0, 363, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":361
+ /* "dependency_injector/providers.pxd":364
* if '__' not in key:
* plain_kwargs[key] = value
* continue # <<<<<<<<<<<<<<
@@ -118583,7 +120061,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
goto __pyx_L3_continue;
- /* "dependency_injector/providers.pxd":359
+ /* "dependency_injector/providers.pxd":362
*
* for key, value in kwargs.items():
* if '__' not in key: # <<<<<<<<<<<<<<
@@ -118592,14 +120070,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
}
- /* "dependency_injector/providers.pxd":363
+ /* "dependency_injector/providers.pxd":366
* continue
*
* index = key.index('__') # <<<<<<<<<<<<<<
* prefix, name = key[:index], key[index+2:]
*
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 363, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -118613,24 +120091,24 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_n_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s__10);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":364
+ /* "dependency_injector/providers.pxd":367
*
* index = key.index('__')
* prefix, name = key[:index], key[index+2:] # <<<<<<<<<<<<<<
*
* if prefix not in prefixed_kwargs:
*/
- __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, NULL, &__pyx_v_index, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, NULL, &__pyx_v_index, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_index, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 364, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_index, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, &__pyx_t_6, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_key, 0, 0, &__pyx_t_6, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_1);
@@ -118638,30 +120116,30 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":366
+ /* "dependency_injector/providers.pxd":369
* prefix, name = key[:index], key[index+2:]
*
* if prefix not in prefixed_kwargs: # <<<<<<<<<<<<<<
* prefixed_kwargs[prefix] = {}
* prefixed_kwargs[prefix][name] = value
*/
- __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_prefix, __pyx_v_prefixed_kwargs, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 366, __pyx_L1_error)
+ __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_prefix, __pyx_v_prefixed_kwargs, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 369, __pyx_L1_error)
__pyx_t_9 = (__pyx_t_10 != 0);
if (__pyx_t_9) {
- /* "dependency_injector/providers.pxd":367
+ /* "dependency_injector/providers.pxd":370
*
* if prefix not in prefixed_kwargs:
* prefixed_kwargs[prefix] = {} # <<<<<<<<<<<<<<
* prefixed_kwargs[prefix][name] = value
*
*/
- __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (unlikely(PyDict_SetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix, __pyx_t_5) < 0)) __PYX_ERR(0, 367, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix, __pyx_t_5) < 0)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":366
+ /* "dependency_injector/providers.pxd":369
* prefix, name = key[:index], key[index+2:]
*
* if prefix not in prefixed_kwargs: # <<<<<<<<<<<<<<
@@ -118670,19 +120148,19 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*/
}
- /* "dependency_injector/providers.pxd":368
+ /* "dependency_injector/providers.pxd":371
* if prefix not in prefixed_kwargs:
* prefixed_kwargs[prefix] = {}
* prefixed_kwargs[prefix][name] = value # <<<<<<<<<<<<<<
*
* return plain_kwargs, prefixed_kwargs
*/
- __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 368, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_prefixed_kwargs, __pyx_v_prefix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 371, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 368, __pyx_L1_error)
+ if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 371, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":358
+ /* "dependency_injector/providers.pxd":361
* cdef dict prefixed_kwargs = {}
*
* for key, value in kwargs.items(): # <<<<<<<<<<<<<<
@@ -118693,7 +120171,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pxd":370
+ /* "dependency_injector/providers.pxd":373
* prefixed_kwargs[prefix][name] = value
*
* return plain_kwargs, prefixed_kwargs # <<<<<<<<<<<<<<
@@ -118701,7 +120179,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error)
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_plain_kwargs);
__Pyx_GIVEREF(__pyx_v_plain_kwargs);
@@ -118713,7 +120191,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":354
+ /* "dependency_injector/providers.pxd":357
*
*
* cdef inline tuple __separate_prefixed_kwargs(dict kwargs): # <<<<<<<<<<<<<<
@@ -118743,7 +120221,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___separa
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":375
+/* "dependency_injector/providers.pxd":378
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_positional_args( # <<<<<<<<<<<<<<
@@ -118771,31 +120249,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__provide_positional_args", 0);
- /* "dependency_injector/providers.pxd":381
+ /* "dependency_injector/providers.pxd":384
* ):
* cdef int index
* cdef list positional_args = [] # <<<<<<<<<<<<<<
* cdef list future_args = []
* cdef PositionalInjection injection
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_positional_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":382
+ /* "dependency_injector/providers.pxd":385
* cdef int index
* cdef list positional_args = []
* cdef list future_args = [] # <<<<<<<<<<<<<<
* cdef PositionalInjection injection
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 382, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_args = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":385
+ /* "dependency_injector/providers.pxd":388
* cdef PositionalInjection injection
*
* if inj_args_len == 0: # <<<<<<<<<<<<<<
@@ -118805,7 +120283,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = ((__pyx_v_inj_args_len == 0) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pxd":386
+ /* "dependency_injector/providers.pxd":389
*
* if inj_args_len == 0:
* return args # <<<<<<<<<<<<<<
@@ -118817,7 +120295,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_args;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":385
+ /* "dependency_injector/providers.pxd":388
* cdef PositionalInjection injection
*
* if inj_args_len == 0: # <<<<<<<<<<<<<<
@@ -118826,7 +120304,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "dependency_injector/providers.pxd":388
+ /* "dependency_injector/providers.pxd":391
* return args
*
* for index in range(inj_args_len): # <<<<<<<<<<<<<<
@@ -118838,7 +120316,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
__pyx_v_index = __pyx_t_5;
- /* "dependency_injector/providers.pxd":389
+ /* "dependency_injector/providers.pxd":392
*
* for index in range(inj_args_len):
* injection = inj_args[index] # <<<<<<<<<<<<<<
@@ -118847,35 +120325,35 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_args == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 389, __pyx_L1_error)
+ __PYX_ERR(0, 392, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_args, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":390
+ /* "dependency_injector/providers.pxd":393
* for index in range(inj_args_len):
* injection = inj_args[index]
* value = __get_value(injection) # <<<<<<<<<<<<<<
* positional_args.append(value)
*
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":391
+ /* "dependency_injector/providers.pxd":394
* injection = inj_args[index]
* value = __get_value(injection)
* positional_args.append(value) # <<<<<<<<<<<<<<
*
* if __is_future_or_coroutine(value):
*/
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_positional_args, __pyx_v_value); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 391, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_positional_args, __pyx_v_value); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 394, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":393
+ /* "dependency_injector/providers.pxd":396
* positional_args.append(value)
*
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -118885,16 +120363,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pxd":394
+ /* "dependency_injector/providers.pxd":397
*
* if __is_future_or_coroutine(value):
* future_args.append((index, value)) # <<<<<<<<<<<<<<
*
* positional_args.extend(args)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 394, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
@@ -118902,10 +120380,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_value);
__pyx_t_1 = 0;
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_args, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 394, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_args, __pyx_t_7); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pxd":393
+ /* "dependency_injector/providers.pxd":396
* positional_args.append(value)
*
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -118915,16 +120393,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "dependency_injector/providers.pxd":396
+ /* "dependency_injector/providers.pxd":399
* future_args.append((index, value))
*
* positional_args.extend(args) # <<<<<<<<<<<<<<
*
* if future_args:
*/
- __pyx_t_6 = __Pyx_PyList_Extend(__pyx_v_positional_args, __pyx_v_args); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 396, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Extend(__pyx_v_positional_args, __pyx_v_args); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 399, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":398
+ /* "dependency_injector/providers.pxd":401
* positional_args.extend(args)
*
* if future_args: # <<<<<<<<<<<<<<
@@ -118934,7 +120412,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_2 = (PyList_GET_SIZE(__pyx_v_future_args) != 0);
if (__pyx_t_2) {
- /* "dependency_injector/providers.pxd":399
+ /* "dependency_injector/providers.pxd":402
*
* if future_args:
* return __combine_future_injections(positional_args, future_args) # <<<<<<<<<<<<<<
@@ -118942,13 +120420,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return positional_args
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_7 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_positional_args, __pyx_v_future_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 399, __pyx_L1_error)
+ __pyx_t_7 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_positional_args, __pyx_v_future_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_r = __pyx_t_7;
__pyx_t_7 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":398
+ /* "dependency_injector/providers.pxd":401
* positional_args.extend(args)
*
* if future_args: # <<<<<<<<<<<<<<
@@ -118957,7 +120435,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "dependency_injector/providers.pxd":401
+ /* "dependency_injector/providers.pxd":404
* return __combine_future_injections(positional_args, future_args)
*
* return positional_args # <<<<<<<<<<<<<<
@@ -118969,7 +120447,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_positional_args;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":375
+ /* "dependency_injector/providers.pxd":378
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_positional_args( # <<<<<<<<<<<<<<
@@ -118993,7 +120471,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":406
+/* "dependency_injector/providers.pxd":409
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_keyword_args( # <<<<<<<<<<<<<<
@@ -119026,31 +120504,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_RefNannySetupContext("__provide_keyword_args", 0);
__Pyx_INCREF(__pyx_v_kwargs);
- /* "dependency_injector/providers.pxd":414
+ /* "dependency_injector/providers.pxd":417
* cdef object name
* cdef object value
* cdef dict prefixed = {} # <<<<<<<<<<<<<<
* cdef list future_kwargs = []
* cdef NamedInjection kw_injection
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_prefixed = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":415
+ /* "dependency_injector/providers.pxd":418
* cdef object value
* cdef dict prefixed = {}
* cdef list future_kwargs = [] # <<<<<<<<<<<<<<
* cdef NamedInjection kw_injection
*
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_kwargs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":418
+ /* "dependency_injector/providers.pxd":421
* cdef NamedInjection kw_injection
*
* if len(kwargs) == 0: # <<<<<<<<<<<<<<
@@ -119059,13 +120537,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- __PYX_ERR(0, 418, __pyx_L1_error)
+ __PYX_ERR(0, 421, __pyx_L1_error)
}
- __pyx_t_2 = PyDict_Size(__pyx_v_kwargs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 418, __pyx_L1_error)
+ __pyx_t_2 = PyDict_Size(__pyx_v_kwargs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 421, __pyx_L1_error)
__pyx_t_3 = ((__pyx_t_2 == 0) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":419
+ /* "dependency_injector/providers.pxd":422
*
* if len(kwargs) == 0:
* for index in range(inj_kwargs_len): # <<<<<<<<<<<<<<
@@ -119077,7 +120555,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
__pyx_v_index = __pyx_t_6;
- /* "dependency_injector/providers.pxd":420
+ /* "dependency_injector/providers.pxd":423
* if len(kwargs) == 0:
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index] # <<<<<<<<<<<<<<
@@ -119086,38 +120564,38 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 420, __pyx_L1_error)
+ __PYX_ERR(0, 423, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_kwargs, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_kw_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":421
+ /* "dependency_injector/providers.pxd":424
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection) # <<<<<<<<<<<<<<
* value = __get_value(kw_injection)
* kwargs[name] = value
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":422
+ /* "dependency_injector/providers.pxd":425
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection)
* value = __get_value(kw_injection) # <<<<<<<<<<<<<<
* kwargs[name] = value
* if __is_future_or_coroutine(value):
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":423
+ /* "dependency_injector/providers.pxd":426
* name = __get_name(kw_injection)
* value = __get_value(kw_injection)
* kwargs[name] = value # <<<<<<<<<<<<<<
@@ -119126,11 +120604,11 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 423, __pyx_L1_error)
+ __PYX_ERR(0, 426, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 423, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 426, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":424
+ /* "dependency_injector/providers.pxd":427
* value = __get_value(kw_injection)
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -119140,14 +120618,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":425
+ /* "dependency_injector/providers.pxd":428
* kwargs[name] = value
* if __is_future_or_coroutine(value):
* future_kwargs.append((name, value)) # <<<<<<<<<<<<<<
* else:
* kwargs, prefixed = __separate_prefixed_kwargs(kwargs)
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -119155,10 +120633,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
- __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 425, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_1); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":424
+ /* "dependency_injector/providers.pxd":427
* value = __get_value(kw_injection)
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -119168,7 +120646,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "dependency_injector/providers.pxd":418
+ /* "dependency_injector/providers.pxd":421
* cdef NamedInjection kw_injection
*
* if len(kwargs) == 0: # <<<<<<<<<<<<<<
@@ -119178,7 +120656,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
goto __pyx_L3;
}
- /* "dependency_injector/providers.pxd":427
+ /* "dependency_injector/providers.pxd":430
* future_kwargs.append((name, value))
* else:
* kwargs, prefixed = __separate_prefixed_kwargs(kwargs) # <<<<<<<<<<<<<<
@@ -119186,7 +120664,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*
*/
/*else*/ {
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___separate_prefixed_kwargs(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___separate_prefixed_kwargs(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(__pyx_t_1 != Py_None)) {
PyObject* sequence = __pyx_t_1;
@@ -119194,7 +120672,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 427, __pyx_L1_error)
+ __PYX_ERR(0, 430, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
@@ -119202,23 +120680,23 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(__pyx_t_9);
#else
- __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 427, __pyx_L1_error)
+ __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 427, __pyx_L1_error)
+ __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 427, __pyx_L1_error)
+ __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 430, __pyx_L1_error)
}
- if (!(likely(PyDict_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 427, __pyx_L1_error)
- if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(0, 427, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 430, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_8));
__pyx_t_8 = 0;
__Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_9));
__pyx_t_9 = 0;
- /* "dependency_injector/providers.pxd":430
+ /* "dependency_injector/providers.pxd":433
*
*
* for index in range(inj_kwargs_len): # <<<<<<<<<<<<<<
@@ -119230,7 +120708,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
__pyx_v_index = __pyx_t_6;
- /* "dependency_injector/providers.pxd":431
+ /* "dependency_injector/providers.pxd":434
*
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index] # <<<<<<<<<<<<<<
@@ -119239,26 +120717,26 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_inj_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 431, __pyx_L1_error)
+ __PYX_ERR(0, 434, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_inj_kwargs, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_kw_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":432
+ /* "dependency_injector/providers.pxd":435
* for index in range(inj_kwargs_len):
* kw_injection = inj_kwargs[index]
* name = __get_name(kw_injection) # <<<<<<<<<<<<<<
*
* if name in kwargs:
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_kw_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":434
+ /* "dependency_injector/providers.pxd":437
* name = __get_name(kw_injection)
*
* if name in kwargs: # <<<<<<<<<<<<<<
@@ -119267,13 +120745,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(0, 434, __pyx_L1_error)
+ __PYX_ERR(0, 437, __pyx_L1_error)
}
- __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 434, __pyx_L1_error)
+ __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 437, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_3 != 0);
if (__pyx_t_10) {
- /* "dependency_injector/providers.pxd":435
+ /* "dependency_injector/providers.pxd":438
*
* if name in kwargs:
* continue # <<<<<<<<<<<<<<
@@ -119282,7 +120760,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
goto __pyx_L7_continue;
- /* "dependency_injector/providers.pxd":434
+ /* "dependency_injector/providers.pxd":437
* name = __get_name(kw_injection)
*
* if name in kwargs: # <<<<<<<<<<<<<<
@@ -119291,7 +120769,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "dependency_injector/providers.pxd":437
+ /* "dependency_injector/providers.pxd":440
* continue
*
* if name in prefixed: # <<<<<<<<<<<<<<
@@ -119300,13 +120778,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_prefixed == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(0, 437, __pyx_L1_error)
+ __PYX_ERR(0, 440, __pyx_L1_error)
}
- __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_prefixed, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 437, __pyx_L1_error)
+ __pyx_t_10 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_prefixed, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 440, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_10 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":438
+ /* "dependency_injector/providers.pxd":441
*
* if name in prefixed:
* value = __get_value_kwargs(kw_injection, prefixed[name]) # <<<<<<<<<<<<<<
@@ -119315,18 +120793,18 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_prefixed == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 438, __pyx_L1_error)
+ __PYX_ERR(0, 441, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 438, __pyx_L1_error)
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 438, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 441, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 441, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_9);
__pyx_t_9 = 0;
- /* "dependency_injector/providers.pxd":437
+ /* "dependency_injector/providers.pxd":440
* continue
*
* if name in prefixed: # <<<<<<<<<<<<<<
@@ -119336,7 +120814,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
goto __pyx_L10;
}
- /* "dependency_injector/providers.pxd":440
+ /* "dependency_injector/providers.pxd":443
* value = __get_value_kwargs(kw_injection, prefixed[name])
* else:
* value = __get_value(kw_injection) # <<<<<<<<<<<<<<
@@ -119344,14 +120822,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* kwargs[name] = value
*/
/*else*/ {
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 440, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_9);
__pyx_t_9 = 0;
}
__pyx_L10:;
- /* "dependency_injector/providers.pxd":442
+ /* "dependency_injector/providers.pxd":445
* value = __get_value(kw_injection)
*
* kwargs[name] = value # <<<<<<<<<<<<<<
@@ -119360,11 +120838,11 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 442, __pyx_L1_error)
+ __PYX_ERR(0, 445, __pyx_L1_error)
}
- if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 442, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 445, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":443
+ /* "dependency_injector/providers.pxd":446
*
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -119374,14 +120852,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":444
+ /* "dependency_injector/providers.pxd":447
* kwargs[name] = value
* if __is_future_or_coroutine(value):
* future_kwargs.append((name, value)) # <<<<<<<<<<<<<<
*
* if future_kwargs:
*/
- __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 444, __pyx_L1_error)
+ __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 447, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -119389,10 +120867,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_value);
- __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_9); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 444, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_future_kwargs, __pyx_t_9); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 447, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pxd":443
+ /* "dependency_injector/providers.pxd":446
*
* kwargs[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -119405,7 +120883,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
__pyx_L3:;
- /* "dependency_injector/providers.pxd":446
+ /* "dependency_injector/providers.pxd":449
* future_kwargs.append((name, value))
*
* if future_kwargs: # <<<<<<<<<<<<<<
@@ -119415,7 +120893,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_3 = (PyList_GET_SIZE(__pyx_v_future_kwargs) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":447
+ /* "dependency_injector/providers.pxd":450
*
* if future_kwargs:
* return __combine_future_injections(kwargs, future_kwargs) # <<<<<<<<<<<<<<
@@ -119423,13 +120901,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return kwargs
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_9 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_kwargs, __pyx_v_future_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 447, __pyx_L1_error)
+ __pyx_t_9 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_kwargs, __pyx_v_future_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_r = __pyx_t_9;
__pyx_t_9 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":446
+ /* "dependency_injector/providers.pxd":449
* future_kwargs.append((name, value))
*
* if future_kwargs: # <<<<<<<<<<<<<<
@@ -119438,7 +120916,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "dependency_injector/providers.pxd":449
+ /* "dependency_injector/providers.pxd":452
* return __combine_future_injections(kwargs, future_kwargs)
*
* return kwargs # <<<<<<<<<<<<<<
@@ -119450,7 +120928,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_kwargs;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":406
+ /* "dependency_injector/providers.pxd":409
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_keyword_args( # <<<<<<<<<<<<<<
@@ -119477,7 +120955,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":452
+/* "dependency_injector/providers.pxd":455
*
*
* cdef inline object __combine_future_injections(object injections, list future_injections): # <<<<<<<<<<<<<<
@@ -119507,16 +120985,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__combine_future_injections", 0);
- /* "dependency_injector/providers.pxd":453
+ /* "dependency_injector/providers.pxd":456
*
* cdef inline object __combine_future_injections(object injections, list future_injections):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -119531,37 +121009,37 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":455
+ /* "dependency_injector/providers.pxd":458
* future_result = asyncio.Future()
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections]) # <<<<<<<<<<<<<<
* injections_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_future_injections == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- __PYX_ERR(0, 455, __pyx_L1_error)
+ __PYX_ERR(0, 458, __pyx_L1_error)
}
__pyx_t_2 = __pyx_v_future_injections; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 458, __pyx_L1_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
@@ -119570,7 +121048,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 455, __pyx_L1_error)
+ __PYX_ERR(0, 458, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -119583,15 +121061,15 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
@@ -119599,7 +121077,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 455, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 458, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L6_unpacking_done;
@@ -119607,60 +121085,60 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 455, __pyx_L1_error)
+ __PYX_ERR(0, 458, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v__, __pyx_t_6);
__pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_value))) __PYX_ERR(0, 455, __pyx_L1_error)
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_v_value))) __PYX_ERR(0, 458, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_2 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 455, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_injections_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":456
+ /* "dependency_injector/providers.pxd":459
*
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
* injections_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_prepare_args_kwargs_callback,
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_injections_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 456, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_injections_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "dependency_injector/providers.pxd":457
+ /* "dependency_injector/providers.pxd":460
* injections_ready = asyncio.gather(*[value for _, value in future_injections])
* injections_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_prepare_args_kwargs_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":458
+ /* "dependency_injector/providers.pxd":461
* injections_ready.add_done_callback(
* functools.partial(
* __async_prepare_args_kwargs_callback, # <<<<<<<<<<<<<<
* future_result,
* injections,
*/
- __pyx_t_5 = __Pyx_CFunc_void____object____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_prepare_args_kwargs_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 458, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CFunc_void____object____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_prepare_args_kwargs_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pxd":461
+ /* "dependency_injector/providers.pxd":464
* future_result,
* injections,
* future_injections, # <<<<<<<<<<<<<<
@@ -119682,7 +121160,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_5, __pyx_v_future_result, __pyx_v_injections, __pyx_v_future_injections};
- __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -119691,14 +121169,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_5, __pyx_v_future_result, __pyx_v_injections, __pyx_v_future_injections};
- __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
@@ -119715,7 +121193,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__Pyx_GIVEREF(__pyx_v_future_injections);
PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_10, __pyx_v_future_injections);
__pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -119733,21 +121211,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":464
+ /* "dependency_injector/providers.pxd":467
* ),
* )
* asyncio.ensure_future(injections_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 464, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -119762,12 +121240,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_injections_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_injections_ready);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 464, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":466
+ /* "dependency_injector/providers.pxd":469
* asyncio.ensure_future(injections_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -119779,7 +121257,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":452
+ /* "dependency_injector/providers.pxd":455
*
*
* cdef inline object __combine_future_injections(object injections, list future_injections): # <<<<<<<<<<<<<<
@@ -119808,7 +121286,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___combin
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":469
+/* "dependency_injector/providers.pxd":472
*
*
* cdef inline void __async_prepare_args_kwargs_callback( # <<<<<<<<<<<<<<
@@ -119842,7 +121320,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_prepare_args_kwargs_callback", 0);
- /* "dependency_injector/providers.pxd":475
+ /* "dependency_injector/providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -119858,14 +121336,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pxd":476
+ /* "dependency_injector/providers.pxd":479
* ):
* try:
* result = future.result() # <<<<<<<<<<<<<<
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 476, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -119879,20 +121357,20 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 476, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pxd":477
+ /* "dependency_injector/providers.pxd":480
* try:
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs): # <<<<<<<<<<<<<<
* args[key] = value
* except Exception as exception:
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_result);
__Pyx_GIVEREF(__pyx_v_result);
@@ -119900,16 +121378,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_v_future_args_kwargs);
__Pyx_GIVEREF(__pyx_v_future_args_kwargs);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_future_args_kwargs);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 480, __pyx_L3_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
@@ -119917,17 +121395,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 480, __pyx_L3_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 480, __pyx_L3_error)
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
@@ -119937,7 +121415,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 477, __pyx_L3_error)
+ else __PYX_ERR(0, 480, __pyx_L3_error)
}
break;
}
@@ -119949,7 +121427,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 477, __pyx_L3_error)
+ __PYX_ERR(0, 480, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -119962,15 +121440,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_9);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -119978,7 +121456,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L11_unpacking_failed;
__Pyx_GOTREF(__pyx_t_9);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 477, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 480, __pyx_L3_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
goto __pyx_L12_unpacking_done;
@@ -119986,7 +121464,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 477, __pyx_L3_error)
+ __PYX_ERR(0, 480, __pyx_L3_error)
__pyx_L12_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
@@ -119997,7 +121475,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 477, __pyx_L3_error)
+ __PYX_ERR(0, 480, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -120010,15 +121488,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(__pyx_t_12);
#else
- __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_12);
#endif
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L3_error)
+ __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 480, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_11 = Py_TYPE(__pyx_t_13)->tp_iternext;
@@ -120026,7 +121504,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_GOTREF(__pyx_t_10);
index = 1; __pyx_t_12 = __pyx_t_11(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L13_unpacking_failed;
__Pyx_GOTREF(__pyx_t_12);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_13), 2) < 0) __PYX_ERR(0, 477, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_13), 2) < 0) __PYX_ERR(0, 480, __pyx_L3_error)
__pyx_t_11 = NULL;
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
goto __pyx_L14_unpacking_done;
@@ -120034,7 +121512,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_11 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 477, __pyx_L3_error)
+ __PYX_ERR(0, 480, __pyx_L3_error)
__pyx_L14_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_10);
@@ -120042,16 +121520,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XDECREF_SET(__pyx_v__, __pyx_t_12);
__pyx_t_12 = 0;
- /* "dependency_injector/providers.pxd":478
+ /* "dependency_injector/providers.pxd":481
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- if (unlikely(PyObject_SetItem(__pyx_v_args, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(0, 478, __pyx_L3_error)
+ if (unlikely(PyObject_SetItem(__pyx_v_args, __pyx_v_key, __pyx_v_value) < 0)) __PYX_ERR(0, 481, __pyx_L3_error)
- /* "dependency_injector/providers.pxd":477
+ /* "dependency_injector/providers.pxd":480
* try:
* result = future.result()
* for value, (key, _) in zip(result, future_args_kwargs): # <<<<<<<<<<<<<<
@@ -120061,7 +121539,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "dependency_injector/providers.pxd":475
+ /* "dependency_injector/providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -120070,7 +121548,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
*/
}
- /* "dependency_injector/providers.pxd":482
+ /* "dependency_injector/providers.pxd":485
* future_result.set_exception(exception)
* else:
* future_result.set_result(args) # <<<<<<<<<<<<<<
@@ -120078,7 +121556,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 482, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -120092,7 +121570,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_v_args) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_args);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -120110,7 +121588,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pxd":479
+ /* "dependency_injector/providers.pxd":482
* for value, (key, _) in zip(result, future_args_kwargs):
* args[key] = value
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -120120,21 +121598,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_14) {
__Pyx_AddTraceback("dependency_injector.providers.__async_prepare_args_kwargs_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_9) < 0) __PYX_ERR(0, 479, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_9) < 0) __PYX_ERR(0, 482, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pxd":480
+ /* "dependency_injector/providers.pxd":483
* args[key] = value
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(args)
*/
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 480, __pyx_L5_except_error)
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 483, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
@@ -120148,7 +121626,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
}
__pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 480, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 483, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -120160,7 +121638,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pxd":475
+ /* "dependency_injector/providers.pxd":478
* object future,
* ):
* try: # <<<<<<<<<<<<<<
@@ -120180,7 +121658,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pxd":469
+ /* "dependency_injector/providers.pxd":472
*
*
* cdef inline void __async_prepare_args_kwargs_callback( # <<<<<<<<<<<<<<
@@ -120208,7 +121686,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_prepa
__Pyx_RefNannyFinishContext();
}
-/* "dependency_injector/providers.pxd":487
+/* "dependency_injector/providers.pxd":490
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_attributes(tuple attributes, int attributes_len): # <<<<<<<<<<<<<<
@@ -120236,31 +121714,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__provide_attributes", 0);
- /* "dependency_injector/providers.pxd":489
+ /* "dependency_injector/providers.pxd":492
* cdef inline object __provide_attributes(tuple attributes, int attributes_len):
* cdef NamedInjection attr_injection
* cdef dict attribute_injections = {} # <<<<<<<<<<<<<<
* cdef list future_attributes = []
*
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_attribute_injections = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":490
+ /* "dependency_injector/providers.pxd":493
* cdef NamedInjection attr_injection
* cdef dict attribute_injections = {}
* cdef list future_attributes = [] # <<<<<<<<<<<<<<
*
* for index in range(attributes_len):
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L1_error)
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_future_attributes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":492
+ /* "dependency_injector/providers.pxd":495
* cdef list future_attributes = []
*
* for index in range(attributes_len): # <<<<<<<<<<<<<<
@@ -120272,7 +121750,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
__pyx_v_index = __pyx_t_4;
- /* "dependency_injector/providers.pxd":493
+ /* "dependency_injector/providers.pxd":496
*
* for index in range(attributes_len):
* attr_injection = attributes[index] # <<<<<<<<<<<<<<
@@ -120281,47 +121759,47 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- __PYX_ERR(0, 493, __pyx_L1_error)
+ __PYX_ERR(0, 496, __pyx_L1_error)
}
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_attributes, __pyx_v_index);
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_attr_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":494
+ /* "dependency_injector/providers.pxd":497
* for index in range(attributes_len):
* attr_injection = attributes[index]
* name = __get_name(attr_injection) # <<<<<<<<<<<<<<
* value = __get_value(attr_injection)
* attribute_injections[name] = value
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_attr_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_attr_injection); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":495
+ /* "dependency_injector/providers.pxd":498
* attr_injection = attributes[index]
* name = __get_name(attr_injection)
* value = __get_value(attr_injection) # <<<<<<<<<<<<<<
* attribute_injections[name] = value
* if __is_future_or_coroutine(value):
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_attr_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_attr_injection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":496
+ /* "dependency_injector/providers.pxd":499
* name = __get_name(attr_injection)
* value = __get_value(attr_injection)
* attribute_injections[name] = value # <<<<<<<<<<<<<<
* if __is_future_or_coroutine(value):
* future_attributes.append((name, value))
*/
- if (unlikely(PyDict_SetItem(__pyx_v_attribute_injections, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 496, __pyx_L1_error)
+ if (unlikely(PyDict_SetItem(__pyx_v_attribute_injections, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 499, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":497
+ /* "dependency_injector/providers.pxd":500
* value = __get_value(attr_injection)
* attribute_injections[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -120331,14 +121809,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_5 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_value) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pxd":498
+ /* "dependency_injector/providers.pxd":501
* attribute_injections[name] = value
* if __is_future_or_coroutine(value):
* future_attributes.append((name, value)) # <<<<<<<<<<<<<<
*
* if future_attributes:
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
@@ -120346,10 +121824,10 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
- __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_attributes, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 498, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_future_attributes, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 501, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":497
+ /* "dependency_injector/providers.pxd":500
* value = __get_value(attr_injection)
* attribute_injections[name] = value
* if __is_future_or_coroutine(value): # <<<<<<<<<<<<<<
@@ -120359,7 +121837,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
}
}
- /* "dependency_injector/providers.pxd":500
+ /* "dependency_injector/providers.pxd":503
* future_attributes.append((name, value))
*
* if future_attributes: # <<<<<<<<<<<<<<
@@ -120369,7 +121847,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_t_5 = (PyList_GET_SIZE(__pyx_v_future_attributes) != 0);
if (__pyx_t_5) {
- /* "dependency_injector/providers.pxd":501
+ /* "dependency_injector/providers.pxd":504
*
* if future_attributes:
* return __combine_future_injections(attribute_injections, future_attributes) # <<<<<<<<<<<<<<
@@ -120377,13 +121855,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
* return attribute_injections
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_attribute_injections, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___combine_future_injections(__pyx_v_attribute_injections, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":500
+ /* "dependency_injector/providers.pxd":503
* future_attributes.append((name, value))
*
* if future_attributes: # <<<<<<<<<<<<<<
@@ -120392,7 +121870,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
*/
}
- /* "dependency_injector/providers.pxd":503
+ /* "dependency_injector/providers.pxd":506
* return __combine_future_injections(attribute_injections, future_attributes)
*
* return attribute_injections # <<<<<<<<<<<<<<
@@ -120404,7 +121882,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
__pyx_r = __pyx_v_attribute_injections;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":487
+ /* "dependency_injector/providers.pxd":490
* @cython.boundscheck(False)
* @cython.wraparound(False)
* cdef inline object __provide_attributes(tuple attributes, int attributes_len): # <<<<<<<<<<<<<<
@@ -120428,7 +121906,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":506
+/* "dependency_injector/providers.pxd":509
*
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes): # <<<<<<<<<<<<<<
@@ -120454,16 +121932,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_inject_attributes", 0);
- /* "dependency_injector/providers.pxd":507
+ /* "dependency_injector/providers.pxd":510
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* attributes_ready = asyncio.gather(future_instance, future_attributes)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -120478,22 +121956,22 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 507, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":509
+ /* "dependency_injector/providers.pxd":512
* future_result = asyncio.Future()
*
* attributes_ready = asyncio.gather(future_instance, future_attributes) # <<<<<<<<<<<<<<
* attributes_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_gather); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_gather); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
@@ -120511,7 +121989,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_future_instance, __pyx_v_future_attributes};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -120519,13 +121997,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_future_instance, __pyx_v_future_attributes};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
@@ -120536,7 +122014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_INCREF(__pyx_v_future_attributes);
__Pyx_GIVEREF(__pyx_v_future_attributes);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_future_attributes);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
@@ -120544,40 +122022,40 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_v_attributes_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":510
+ /* "dependency_injector/providers.pxd":513
*
* attributes_ready = asyncio.gather(future_instance, future_attributes)
* attributes_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_inject_attributes_callback,
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- /* "dependency_injector/providers.pxd":511
+ /* "dependency_injector/providers.pxd":514
* attributes_ready = asyncio.gather(future_instance, future_attributes)
* attributes_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_inject_attributes_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_functools); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_functools); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_partial); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "dependency_injector/providers.pxd":512
+ /* "dependency_injector/providers.pxd":515
* attributes_ready.add_done_callback(
* functools.partial(
* __async_inject_attributes_callback, # <<<<<<<<<<<<<<
* future_result,
* ),
*/
- __pyx_t_3 = __Pyx_CFunc_void____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_inject_attributes_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_CFunc_void____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_inject_attributes_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
- /* "dependency_injector/providers.pxd":513
+ /* "dependency_injector/providers.pxd":516
* functools.partial(
* __async_inject_attributes_callback,
* future_result, # <<<<<<<<<<<<<<
@@ -120599,7 +122077,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_v_future_result};
- __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -120608,14 +122086,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_v_future_result};
- __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
- __pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
@@ -120626,7 +122104,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_v_future_result);
__pyx_t_3 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
@@ -120644,21 +122122,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":516
+ /* "dependency_injector/providers.pxd":519
* ),
* )
* asyncio.ensure_future(attributes_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 516, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 516, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -120673,12 +122151,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_attributes_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_attributes_ready);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":518
+ /* "dependency_injector/providers.pxd":521
* asyncio.ensure_future(attributes_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -120690,7 +122168,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":506
+ /* "dependency_injector/providers.pxd":509
*
*
* cdef inline object __async_inject_attributes(future_instance, future_attributes): # <<<<<<<<<<<<<<
@@ -120717,7 +122195,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":521
+/* "dependency_injector/providers.pxd":524
*
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -120751,7 +122229,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_inject_attributes_callback", 0);
- /* "dependency_injector/providers.pxd":522
+ /* "dependency_injector/providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -120767,14 +122245,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pxd":523
+ /* "dependency_injector/providers.pxd":526
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try:
* instance, attributes = future.result() # <<<<<<<<<<<<<<
*
* for name, value in attributes.items():
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 523, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -120788,7 +122266,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 523, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
@@ -120797,7 +122275,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 523, __pyx_L3_error)
+ __PYX_ERR(0, 526, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -120810,15 +122288,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 523, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 523, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 523, __pyx_L3_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 526, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -120826,7 +122304,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 523, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 526, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L10_unpacking_done;
@@ -120834,7 +122312,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 523, __pyx_L3_error)
+ __PYX_ERR(0, 526, __pyx_L3_error)
__pyx_L10_unpacking_done:;
}
__pyx_v_instance = __pyx_t_5;
@@ -120842,14 +122320,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_v_attributes = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":525
+ /* "dependency_injector/providers.pxd":528
* instance, attributes = future.result()
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
* setattr(instance, name, value)
* except Exception as exception:
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attributes, __pyx_n_s_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
@@ -120863,16 +122341,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
} else {
- __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 528, __pyx_L3_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
@@ -120880,17 +122358,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 528, __pyx_L3_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 528, __pyx_L3_error)
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
@@ -120900,7 +122378,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 525, __pyx_L3_error)
+ else __PYX_ERR(0, 528, __pyx_L3_error)
}
break;
}
@@ -120912,7 +122390,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 525, __pyx_L3_error)
+ __PYX_ERR(0, 528, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -120925,15 +122403,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 525, __pyx_L3_error)
+ __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 528, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_11)->tp_iternext;
@@ -120941,7 +122419,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_7 = __pyx_t_8(__pyx_t_11); if (unlikely(!__pyx_t_7)) goto __pyx_L13_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_11), 2) < 0) __PYX_ERR(0, 525, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_11), 2) < 0) __PYX_ERR(0, 528, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L14_unpacking_done;
@@ -120949,7 +122427,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 525, __pyx_L3_error)
+ __PYX_ERR(0, 528, __pyx_L3_error)
__pyx_L14_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -120957,16 +122435,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- /* "dependency_injector/providers.pxd":526
+ /* "dependency_injector/providers.pxd":529
*
* for name, value in attributes.items():
* setattr(instance, name, value) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_12 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 526, __pyx_L3_error)
+ __pyx_t_12 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 529, __pyx_L3_error)
- /* "dependency_injector/providers.pxd":525
+ /* "dependency_injector/providers.pxd":528
* instance, attributes = future.result()
*
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -120976,7 +122454,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":522
+ /* "dependency_injector/providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -120985,7 +122463,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
*/
}
- /* "dependency_injector/providers.pxd":530
+ /* "dependency_injector/providers.pxd":533
* future_result.set_exception(exception)
* else:
* future_result.set_result(instance) # <<<<<<<<<<<<<<
@@ -120993,7 +122471,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
*
*/
/*else:*/ {
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 533, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -121007,7 +122485,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 533, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -121023,7 +122501,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pxd":527
+ /* "dependency_injector/providers.pxd":530
* for name, value in attributes.items():
* setattr(instance, name, value)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -121033,21 +122511,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_13) {
__Pyx_AddTraceback("dependency_injector.providers.__async_inject_attributes_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 527, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 530, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "dependency_injector/providers.pxd":528
+ /* "dependency_injector/providers.pxd":531
* setattr(instance, name, value)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(instance)
*/
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 528, __pyx_L5_except_error)
+ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 531, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_14 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
@@ -121061,7 +122539,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
}
__pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_14, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 528, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 531, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -121073,7 +122551,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pxd":522
+ /* "dependency_injector/providers.pxd":525
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -121093,7 +122571,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pxd":521
+ /* "dependency_injector/providers.pxd":524
*
*
* cdef inline void __async_inject_attributes_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -121120,7 +122598,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_injec
__Pyx_RefNannyFinishContext();
}
-/* "dependency_injector/providers.pxd":533
+/* "dependency_injector/providers.pxd":536
*
*
* cdef inline void __inject_attributes(object instance, dict attributes): # <<<<<<<<<<<<<<
@@ -121146,7 +122624,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__inject_attributes", 0);
- /* "dependency_injector/providers.pxd":534
+ /* "dependency_injector/providers.pxd":537
*
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -121155,17 +122633,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
*/
if (unlikely(__pyx_v_attributes == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
- __PYX_ERR(0, 534, __pyx_L1_error)
+ __PYX_ERR(0, 537, __pyx_L1_error)
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 537, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
@@ -121173,17 +122651,17 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 537, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 537, __pyx_L1_error)
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
@@ -121193,7 +122671,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else __PYX_ERR(0, 534, __pyx_L1_error)
+ else __PYX_ERR(0, 537, __pyx_L1_error)
}
break;
}
@@ -121205,7 +122683,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 534, __pyx_L1_error)
+ __PYX_ERR(0, 537, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -121218,15 +122696,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 534, __pyx_L1_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -121234,7 +122712,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 534, __pyx_L1_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
@@ -121242,7 +122720,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 534, __pyx_L1_error)
+ __PYX_ERR(0, 537, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
@@ -121250,16 +122728,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":535
+ /* "dependency_injector/providers.pxd":538
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items():
* setattr(instance, name, value) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_9 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 535, __pyx_L1_error)
+ __pyx_t_9 = PyObject_SetAttr(__pyx_v_instance, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 538, __pyx_L1_error)
- /* "dependency_injector/providers.pxd":534
+ /* "dependency_injector/providers.pxd":537
*
* cdef inline void __inject_attributes(object instance, dict attributes):
* for name, value in attributes.items(): # <<<<<<<<<<<<<<
@@ -121269,7 +122747,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "dependency_injector/providers.pxd":533
+ /* "dependency_injector/providers.pxd":536
*
*
* cdef inline void __inject_attributes(object instance, dict attributes): # <<<<<<<<<<<<<<
@@ -121292,7 +122770,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___inject_attr
__Pyx_RefNannyFinishContext();
}
-/* "dependency_injector/providers.pxd":538
+/* "dependency_injector/providers.pxd":541
*
*
* cdef inline object __call( # <<<<<<<<<<<<<<
@@ -121326,31 +122804,31 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call", 0);
- /* "dependency_injector/providers.pxd":547
+ /* "dependency_injector/providers.pxd":550
* int injection_kwargs_len,
* ):
* args = __provide_positional_args( # <<<<<<<<<<<<<<
* context_args,
* injection_args,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_context_args, __pyx_v_injection_args, __pyx_v_injection_args_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 547, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_context_args, __pyx_v_injection_args, __pyx_v_injection_args_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_args = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":552
+ /* "dependency_injector/providers.pxd":555
* injection_args_len,
* )
* kwargs = __provide_keyword_args( # <<<<<<<<<<<<<<
* context_kwargs,
* injection_kwargs,
*/
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_context_kwargs, __pyx_v_injection_kwargs, __pyx_v_injection_kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 552, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_keyword_args(__pyx_v_context_kwargs, __pyx_v_injection_kwargs, __pyx_v_injection_kwargs_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_kwargs = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":558
+ /* "dependency_injector/providers.pxd":561
* )
*
* is_future_args = __is_future_or_coroutine(args) # <<<<<<<<<<<<<<
@@ -121359,7 +122837,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
__pyx_v_is_future_args = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_args);
- /* "dependency_injector/providers.pxd":559
+ /* "dependency_injector/providers.pxd":562
*
* is_future_args = __is_future_or_coroutine(args)
* is_future_kwargs = __is_future_or_coroutine(kwargs) # <<<<<<<<<<<<<<
@@ -121368,7 +122846,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
__pyx_v_is_future_kwargs = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_kwargs);
- /* "dependency_injector/providers.pxd":561
+ /* "dependency_injector/providers.pxd":564
* is_future_kwargs = __is_future_or_coroutine(kwargs)
*
* if is_future_args or is_future_kwargs: # <<<<<<<<<<<<<<
@@ -121386,7 +122864,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "dependency_injector/providers.pxd":562
+ /* "dependency_injector/providers.pxd":565
*
* if is_future_args or is_future_kwargs:
* future_args = args if is_future_args else __future_result(args) # <<<<<<<<<<<<<<
@@ -121397,7 +122875,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_args);
__pyx_t_1 = __pyx_v_args;
} else {
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 562, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
@@ -121405,7 +122883,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_future_args = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":563
+ /* "dependency_injector/providers.pxd":566
* if is_future_args or is_future_kwargs:
* future_args = args if is_future_args else __future_result(args)
* future_kwargs = kwargs if is_future_kwargs else __future_result(kwargs) # <<<<<<<<<<<<<<
@@ -121416,7 +122894,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_kwargs);
__pyx_t_1 = __pyx_v_kwargs;
} else {
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 563, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
@@ -121424,16 +122902,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_future_kwargs = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":565
+ /* "dependency_injector/providers.pxd":568
* future_kwargs = kwargs if is_future_kwargs else __future_result(kwargs)
*
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Future); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Future); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -121448,22 +122926,22 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":567
+ /* "dependency_injector/providers.pxd":570
* future_result = asyncio.Future()
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs) # <<<<<<<<<<<<<<
* args_kwargs_ready.add_done_callback(
* functools.partial(
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gather); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gather); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -121481,7 +122959,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_future_args, __pyx_v_future_kwargs};
- __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
@@ -121489,13 +122967,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_future_args, __pyx_v_future_kwargs};
- __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
- __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
@@ -121506,7 +122984,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_INCREF(__pyx_v_future_kwargs);
__Pyx_GIVEREF(__pyx_v_future_kwargs);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_future_kwargs);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 570, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
@@ -121514,40 +122992,40 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_v_args_kwargs_ready = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":568
+ /* "dependency_injector/providers.pxd":571
*
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
* args_kwargs_ready.add_done_callback( # <<<<<<<<<<<<<<
* functools.partial(
* __async_call_callback,
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_args_kwargs_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_args_kwargs_ready, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- /* "dependency_injector/providers.pxd":569
+ /* "dependency_injector/providers.pxd":572
* args_kwargs_ready = asyncio.gather(future_args, future_kwargs)
* args_kwargs_ready.add_done_callback(
* functools.partial( # <<<<<<<<<<<<<<
* __async_call_callback,
* future_result,
*/
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_functools); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":570
+ /* "dependency_injector/providers.pxd":573
* args_kwargs_ready.add_done_callback(
* functools.partial(
* __async_call_callback, # <<<<<<<<<<<<<<
* future_result,
* call,
*/
- __pyx_t_5 = __Pyx_CFunc_void____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_call_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_CFunc_void____object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_call_callback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 573, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- /* "dependency_injector/providers.pxd":572
+ /* "dependency_injector/providers.pxd":575
* __async_call_callback,
* future_result,
* call, # <<<<<<<<<<<<<<
@@ -121569,7 +123047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_5, __pyx_v_future_result, __pyx_v_call};
- __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -121578,14 +123056,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_5, __pyx_v_future_result, __pyx_v_call};
- __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
- __pyx_t_10 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_10 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
@@ -121599,7 +123077,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__Pyx_GIVEREF(__pyx_v_call);
PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_6, __pyx_v_call);
__pyx_t_5 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 572, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
@@ -121617,21 +123095,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":575
+ /* "dependency_injector/providers.pxd":578
* ),
* )
* asyncio.ensure_future(args_kwargs_ready) # <<<<<<<<<<<<<<
*
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 575, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -121646,12 +123124,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_args_kwargs_ready) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_args_kwargs_ready);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 575, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":577
+ /* "dependency_injector/providers.pxd":580
* asyncio.ensure_future(args_kwargs_ready)
*
* return future_result # <<<<<<<<<<<<<<
@@ -121663,7 +123141,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":561
+ /* "dependency_injector/providers.pxd":564
* is_future_kwargs = __is_future_or_coroutine(kwargs)
*
* if is_future_args or is_future_kwargs: # <<<<<<<<<<<<<<
@@ -121672,7 +123150,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*/
}
- /* "dependency_injector/providers.pxd":579
+ /* "dependency_injector/providers.pxd":582
* return future_result
*
* return call(*args, **kwargs) # <<<<<<<<<<<<<<
@@ -121680,20 +123158,20 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(0, 579, __pyx_L1_error)
+ __PYX_ERR(0, 582, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
- __pyx_t_7 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 579, __pyx_L1_error)
+ __pyx_t_7 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
} else {
- __pyx_t_7 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 579, __pyx_L1_error)
+ __pyx_t_7 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
}
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 579, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -121701,7 +123179,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":538
+ /* "dependency_injector/providers.pxd":541
*
*
* cdef inline object __call( # <<<<<<<<<<<<<<
@@ -121732,7 +123210,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___call(P
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":582
+/* "dependency_injector/providers.pxd":585
*
*
* cdef inline void __async_call_callback(object future_result, object call, object future): # <<<<<<<<<<<<<<
@@ -121764,7 +123242,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_call_callback", 0);
- /* "dependency_injector/providers.pxd":583
+ /* "dependency_injector/providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -121780,14 +123258,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pxd":584
+ /* "dependency_injector/providers.pxd":587
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try:
* args, kwargs = future.result() # <<<<<<<<<<<<<<
* result = call(*args, **kwargs)
* except Exception as exception:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -121801,7 +123279,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
@@ -121810,7 +123288,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- __PYX_ERR(0, 584, __pyx_L3_error)
+ __PYX_ERR(0, 587, __pyx_L3_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
@@ -121823,15 +123301,15 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L3_error)
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 584, __pyx_L3_error)
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 584, __pyx_L3_error)
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 587, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -121839,7 +123317,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 584, __pyx_L3_error)
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 587, __pyx_L3_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L10_unpacking_done;
@@ -121847,7 +123325,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- __PYX_ERR(0, 584, __pyx_L3_error)
+ __PYX_ERR(0, 587, __pyx_L3_error)
__pyx_L10_unpacking_done:;
}
__pyx_v_args = __pyx_t_5;
@@ -121855,34 +123333,34 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_v_kwargs = __pyx_t_6;
__pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":585
+ /* "dependency_injector/providers.pxd":588
* try:
* args, kwargs = future.result()
* result = call(*args, **kwargs) # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L3_error)
+ __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
- __PYX_ERR(0, 585, __pyx_L3_error)
+ __PYX_ERR(0, 588, __pyx_L3_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
- __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 585, __pyx_L3_error)
+ __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
} else {
- __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 585, __pyx_L3_error)
+ __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_6);
}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_call, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_result = __pyx_t_5;
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":583
+ /* "dependency_injector/providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -121891,7 +123369,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
}
- /* "dependency_injector/providers.pxd":589
+ /* "dependency_injector/providers.pxd":592
* future_result.set_exception(exception)
* else:
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -121902,16 +123380,16 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_9 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_result) != 0);
if (__pyx_t_9) {
- /* "dependency_injector/providers.pxd":590
+ /* "dependency_injector/providers.pxd":593
* else:
* if __is_future_or_coroutine(result):
* result = asyncio.ensure_future(result) # <<<<<<<<<<<<<<
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return
*/
- __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 590, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 590, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
@@ -121926,27 +123404,27 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 590, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 593, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_result, __pyx_t_5);
__pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":591
+ /* "dependency_injector/providers.pxd":594
* if __is_future_or_coroutine(result):
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(__async_result_callback, future_result)) # <<<<<<<<<<<<<<
* return
* future_result.set_result(result)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_functools); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_functools); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_CFunc_object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_result_callback); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_7 = __Pyx_CFunc_object____object____object___to_py(__pyx_f_19dependency_injector_9providers___async_result_callback); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_11 = NULL;
__pyx_t_12 = 0;
@@ -121963,7 +123441,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_7, __pyx_v_future_result};
- __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -121972,14 +123450,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_7, __pyx_v_future_result};
- __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
- __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_11) {
__Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL;
@@ -121990,7 +123468,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_GIVEREF(__pyx_v_future_result);
PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_v_future_result);
__pyx_t_7 = 0;
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
@@ -122008,12 +123486,12 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 594, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "dependency_injector/providers.pxd":592
+ /* "dependency_injector/providers.pxd":595
* result = asyncio.ensure_future(result)
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return # <<<<<<<<<<<<<<
@@ -122022,7 +123500,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
goto __pyx_L6_except_return;
- /* "dependency_injector/providers.pxd":589
+ /* "dependency_injector/providers.pxd":592
* future_result.set_exception(exception)
* else:
* if __is_future_or_coroutine(result): # <<<<<<<<<<<<<<
@@ -122031,14 +123509,14 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
*/
}
- /* "dependency_injector/providers.pxd":593
+ /* "dependency_injector/providers.pxd":596
* result.add_done_callback(functools.partial(__async_result_callback, future_result))
* return
* future_result.set_result(result) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 593, __pyx_L5_except_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 596, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
@@ -122052,7 +123530,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 593, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 596, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -122067,7 +123545,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pxd":586
+ /* "dependency_injector/providers.pxd":589
* args, kwargs = future.result()
* result = call(*args, **kwargs)
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -122077,21 +123555,21 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_t_12 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_12) {
__Pyx_AddTraceback("dependency_injector.providers.__async_call_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 586, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 589, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_4);
__pyx_v_exception = __pyx_t_4;
- /* "dependency_injector/providers.pxd":587
+ /* "dependency_injector/providers.pxd":590
* result = call(*args, **kwargs)
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* if __is_future_or_coroutine(result):
*/
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 587, __pyx_L5_except_error)
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 590, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
@@ -122105,7 +123583,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
}
__pyx_t_10 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_7, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 587, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 590, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -122117,7 +123595,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pxd":583
+ /* "dependency_injector/providers.pxd":586
*
* cdef inline void __async_call_callback(object future_result, object call, object future):
* try: # <<<<<<<<<<<<<<
@@ -122143,7 +123621,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pxd":582
+ /* "dependency_injector/providers.pxd":585
*
*
* cdef inline void __async_call_callback(object future_result, object call, object future): # <<<<<<<<<<<<<<
@@ -122170,7 +123648,7 @@ static CYTHON_INLINE void __pyx_f_19dependency_injector_9providers___async_call_
__Pyx_RefNannyFinishContext();
}
-/* "dependency_injector/providers.pxd":596
+/* "dependency_injector/providers.pxd":599
*
*
* cdef inline object __async_result_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -122198,7 +123676,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__async_result_callback", 0);
- /* "dependency_injector/providers.pxd":597
+ /* "dependency_injector/providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -122214,14 +123692,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_XGOTREF(__pyx_t_3);
/*try:*/ {
- /* "dependency_injector/providers.pxd":598
+ /* "dependency_injector/providers.pxd":601
* cdef inline object __async_result_callback(object future_result, object future):
* try:
* result = future.result() # <<<<<<<<<<<<<<
* except Exception as exception:
* future_result.set_exception(exception)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L3_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 601, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -122235,13 +123713,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 598, __pyx_L3_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_4;
__pyx_t_4 = 0;
- /* "dependency_injector/providers.pxd":597
+ /* "dependency_injector/providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -122250,7 +123728,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
*/
}
- /* "dependency_injector/providers.pxd":602
+ /* "dependency_injector/providers.pxd":605
* future_result.set_exception(exception)
* else:
* future_result.set_result(result) # <<<<<<<<<<<<<<
@@ -122258,7 +123736,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
*
*/
/*else:*/ {
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 602, __pyx_L5_except_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
@@ -122272,7 +123750,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_result);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 602, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 605, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -122286,7 +123764,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "dependency_injector/providers.pxd":599
+ /* "dependency_injector/providers.pxd":602
* try:
* result = future.result()
* except Exception as exception: # <<<<<<<<<<<<<<
@@ -122296,21 +123774,21 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("dependency_injector.providers.__async_result_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 599, __pyx_L5_except_error)
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 602, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_exception = __pyx_t_5;
- /* "dependency_injector/providers.pxd":600
+ /* "dependency_injector/providers.pxd":603
* result = future.result()
* except Exception as exception:
* future_result.set_exception(exception) # <<<<<<<<<<<<<<
* else:
* future_result.set_result(result)
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 600, __pyx_L5_except_error)
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 603, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
@@ -122324,7 +123802,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
}
__pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_exception) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_exception);
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 600, __pyx_L5_except_error)
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 603, __pyx_L5_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -122336,7 +123814,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
goto __pyx_L5_except_error;
__pyx_L5_except_error:;
- /* "dependency_injector/providers.pxd":597
+ /* "dependency_injector/providers.pxd":600
*
* cdef inline object __async_result_callback(object future_result, object future):
* try: # <<<<<<<<<<<<<<
@@ -122356,7 +123834,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
__pyx_L8_try_end:;
}
- /* "dependency_injector/providers.pxd":596
+ /* "dependency_injector/providers.pxd":599
*
*
* cdef inline object __async_result_callback(object future_result, object future): # <<<<<<<<<<<<<<
@@ -122384,7 +123862,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___async_
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":605
+/* "dependency_injector/providers.pxd":608
*
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -122404,7 +123882,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__callable_call", 0);
- /* "dependency_injector/providers.pxd":606
+ /* "dependency_injector/providers.pxd":609
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call( # <<<<<<<<<<<<<<
@@ -122413,7 +123891,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
*/
__Pyx_XDECREF(__pyx_r);
- /* "dependency_injector/providers.pxd":607
+ /* "dependency_injector/providers.pxd":610
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call(
* self.__provides, # <<<<<<<<<<<<<<
@@ -122423,7 +123901,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_1 = __pyx_v_self->__pyx___provides;
__Pyx_INCREF(__pyx_t_1);
- /* "dependency_injector/providers.pxd":609
+ /* "dependency_injector/providers.pxd":612
* self.__provides,
* args,
* self.__args, # <<<<<<<<<<<<<<
@@ -122433,7 +123911,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_2 = __pyx_v_self->__pyx___args;
__Pyx_INCREF(__pyx_t_2);
- /* "dependency_injector/providers.pxd":612
+ /* "dependency_injector/providers.pxd":615
* self.__args_len,
* kwargs,
* self.__kwargs, # <<<<<<<<<<<<<<
@@ -122443,14 +123921,14 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_3 = __pyx_v_self->__pyx___kwargs;
__Pyx_INCREF(__pyx_t_3);
- /* "dependency_injector/providers.pxd":606
+ /* "dependency_injector/providers.pxd":609
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs):
* return __call( # <<<<<<<<<<<<<<
* self.__provides,
* args,
*/
- __pyx_t_4 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error)
+ __pyx_t_4 = __pyx_f_19dependency_injector_9providers___call(__pyx_t_1, __pyx_v_args, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_3), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 609, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -122459,7 +123937,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":605
+ /* "dependency_injector/providers.pxd":608
*
*
* cdef inline object __callable_call(Callable self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -122481,7 +123959,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___callab
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":617
+/* "dependency_injector/providers.pxd":620
*
*
* cdef inline object __factory_call(Factory self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -122507,7 +123985,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__factory_call", 0);
- /* "dependency_injector/providers.pxd":620
+ /* "dependency_injector/providers.pxd":623
* cdef object instance
*
* instance = __callable_call(self.__instantiator, args, kwargs) # <<<<<<<<<<<<<<
@@ -122516,13 +123994,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_t_1 = ((PyObject *)__pyx_v_self->__pyx___instantiator);
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___callable_call(((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 620, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___callable_call(((struct __pyx_obj_19dependency_injector_9providers_Callable *)__pyx_t_1), __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_instance = __pyx_t_2;
__pyx_t_2 = 0;
- /* "dependency_injector/providers.pxd":622
+ /* "dependency_injector/providers.pxd":625
* instance = __callable_call(self.__instantiator, args, kwargs)
*
* if self.__attributes_len > 0: # <<<<<<<<<<<<<<
@@ -122532,7 +124010,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_t_3 = ((__pyx_v_self->__pyx___attributes_len > 0) != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":623
+ /* "dependency_injector/providers.pxd":626
*
* if self.__attributes_len > 0:
* attributes = __provide_attributes(self.__attributes, self.__attributes_len) # <<<<<<<<<<<<<<
@@ -122541,13 +124019,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_t_2 = __pyx_v_self->__pyx___attributes;
__Pyx_INCREF(__pyx_t_2);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_attributes(((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___attributes_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___provide_attributes(((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___attributes_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_attributes = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":625
+ /* "dependency_injector/providers.pxd":628
* attributes = __provide_attributes(self.__attributes, self.__attributes_len)
*
* is_future_instance = __is_future_or_coroutine(instance) # <<<<<<<<<<<<<<
@@ -122556,7 +124034,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_v_is_future_instance = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_instance);
- /* "dependency_injector/providers.pxd":626
+ /* "dependency_injector/providers.pxd":629
*
* is_future_instance = __is_future_or_coroutine(instance)
* is_future_attributes = __is_future_or_coroutine(attributes) # <<<<<<<<<<<<<<
@@ -122565,7 +124043,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
__pyx_v_is_future_attributes = __pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_attributes);
- /* "dependency_injector/providers.pxd":628
+ /* "dependency_injector/providers.pxd":631
* is_future_attributes = __is_future_or_coroutine(attributes)
*
* if is_future_instance or is_future_attributes: # <<<<<<<<<<<<<<
@@ -122583,7 +124061,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_L5_bool_binop_done:;
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":629
+ /* "dependency_injector/providers.pxd":632
*
* if is_future_instance or is_future_attributes:
* future_instance = instance if is_future_instance else __future_result(instance) # <<<<<<<<<<<<<<
@@ -122594,7 +124072,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__Pyx_INCREF(__pyx_v_instance);
__pyx_t_1 = __pyx_v_instance;
} else {
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_instance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_instance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
@@ -122602,7 +124080,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_v_future_instance = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":630
+ /* "dependency_injector/providers.pxd":633
* if is_future_instance or is_future_attributes:
* future_instance = instance if is_future_instance else __future_result(instance)
* future_attributes = attributes if is_future_attributes else __future_result(attributes) # <<<<<<<<<<<<<<
@@ -122613,7 +124091,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__Pyx_INCREF(__pyx_v_attributes);
__pyx_t_1 = __pyx_v_attributes;
} else {
- __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error)
+ __pyx_t_2 = __pyx_f_19dependency_injector_9providers___future_result(__pyx_v_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
@@ -122621,7 +124099,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_v_future_attributes = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":631
+ /* "dependency_injector/providers.pxd":634
* future_instance = instance if is_future_instance else __future_result(instance)
* future_attributes = attributes if is_future_attributes else __future_result(attributes)
* return __async_inject_attributes(future_instance, future_attributes) # <<<<<<<<<<<<<<
@@ -122629,13 +124107,13 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
* __inject_attributes(instance, attributes)
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_19dependency_injector_9providers___async_inject_attributes(__pyx_v_future_instance, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L1_error)
+ __pyx_t_1 = __pyx_f_19dependency_injector_9providers___async_inject_attributes(__pyx_v_future_instance, __pyx_v_future_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":628
+ /* "dependency_injector/providers.pxd":631
* is_future_attributes = __is_future_or_coroutine(attributes)
*
* if is_future_instance or is_future_attributes: # <<<<<<<<<<<<<<
@@ -122644,17 +124122,17 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
}
- /* "dependency_injector/providers.pxd":633
+ /* "dependency_injector/providers.pxd":636
* return __async_inject_attributes(future_instance, future_attributes)
*
* __inject_attributes(instance, attributes) # <<<<<<<<<<<<<<
*
* return instance
*/
- if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(0, 633, __pyx_L1_error)
+ if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(0, 636, __pyx_L1_error)
__pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
- /* "dependency_injector/providers.pxd":622
+ /* "dependency_injector/providers.pxd":625
* instance = __callable_call(self.__instantiator, args, kwargs)
*
* if self.__attributes_len > 0: # <<<<<<<<<<<<<<
@@ -122663,7 +124141,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
*/
}
- /* "dependency_injector/providers.pxd":635
+ /* "dependency_injector/providers.pxd":638
* __inject_attributes(instance, attributes)
*
* return instance # <<<<<<<<<<<<<<
@@ -122675,7 +124153,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
__pyx_r = __pyx_v_instance;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":617
+ /* "dependency_injector/providers.pxd":620
*
*
* cdef inline object __factory_call(Factory self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
@@ -122699,7 +124177,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":638
+/* "dependency_injector/providers.pxd":641
*
*
* cdef inline bint __is_future_or_coroutine(object instance): # <<<<<<<<<<<<<<
@@ -122720,21 +124198,21 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__is_future_or_coroutine", 0);
- /* "dependency_injector/providers.pxd":639
+ /* "dependency_injector/providers.pxd":642
*
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None: # <<<<<<<<<<<<<<
* return False
* return asyncio.isfuture(instance) or asyncio.iscoroutine(instance)
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 639, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "dependency_injector/providers.pxd":640
+ /* "dependency_injector/providers.pxd":643
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None:
* return False # <<<<<<<<<<<<<<
@@ -122744,7 +124222,7 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
__pyx_r = 0;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":639
+ /* "dependency_injector/providers.pxd":642
*
* cdef inline bint __is_future_or_coroutine(object instance):
* if asyncio is None: # <<<<<<<<<<<<<<
@@ -122753,16 +124231,16 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
*/
}
- /* "dependency_injector/providers.pxd":641
+ /* "dependency_injector/providers.pxd":644
* if asyncio is None:
* return False
* return asyncio.isfuture(instance) or asyncio.iscoroutine(instance) # <<<<<<<<<<<<<<
*
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfuture); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfuture); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
@@ -122777,19 +124255,19 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!__pyx_t_2) {
} else {
__pyx_t_3 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutine); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutine); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
@@ -122804,17 +124282,17 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 641, __pyx_L1_error)
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __pyx_t_2;
__pyx_L4_bool_binop_done:;
__pyx_r = __pyx_t_3;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":638
+ /* "dependency_injector/providers.pxd":641
*
*
* cdef inline bint __is_future_or_coroutine(object instance): # <<<<<<<<<<<<<<
@@ -122834,7 +124312,7 @@ static CYTHON_INLINE int __pyx_f_19dependency_injector_9providers___is_future_or
return __pyx_r;
}
-/* "dependency_injector/providers.pxd":644
+/* "dependency_injector/providers.pxd":647
*
*
* cdef inline object __future_result(object instance): # <<<<<<<<<<<<<<
@@ -122854,16 +124332,16 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__future_result", 0);
- /* "dependency_injector/providers.pxd":645
+ /* "dependency_injector/providers.pxd":648
*
* cdef inline object __future_result(object instance):
* future_result = asyncio.Future() # <<<<<<<<<<<<<<
* future_result.set_result(instance)
* return future_result
*/
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
@@ -122878,19 +124356,19 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_future_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":646
+ /* "dependency_injector/providers.pxd":649
* cdef inline object __future_result(object instance):
* future_result = asyncio.Future()
* future_result.set_result(instance) # <<<<<<<<<<<<<<
* return future_result
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 646, __pyx_L1_error)
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
@@ -122904,12 +124382,12 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_instance) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_instance);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pxd":647
+ /* "dependency_injector/providers.pxd":650
* future_result = asyncio.Future()
* future_result.set_result(instance)
* return future_result # <<<<<<<<<<<<<<
@@ -122919,7 +124397,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___future
__pyx_r = __pyx_v_future_result;
goto __pyx_L0;
- /* "dependency_injector/providers.pxd":644
+ /* "dependency_injector/providers.pxd":647
*
*
* cdef inline object __future_result(object instance): # <<<<<<<<<<<<<<
@@ -123113,7 +124591,7 @@ static PyObject *__Pyx_CFunc_void____object____object____object____object___to_p
* """wrap(future_result, args, future_args_kwargs, future) -> 'void'"""
* f(future_result, args, future_args_kwargs, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_64__Pyx_CFunc_void____object____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_64__Pyx_CFunc_void____object____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -123301,7 +124779,7 @@ static PyObject *__Pyx_CFunc_void____object____object___to_py(void (*__pyx_v_f)(
* """wrap(future_result, future) -> 'void'"""
* f(future_result, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_44__Pyx_CFunc_void____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_44__Pyx_CFunc_void____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -123500,7 +124978,7 @@ static PyObject *__Pyx_CFunc_void____object____object____object___to_py(void (*_
* """wrap(future_result, call, future) -> 'void'"""
* f(future_result, call, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_54__Pyx_CFunc_void____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_54__Pyx_CFunc_void____object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_void____object____ob_3, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -123693,7 +125171,7 @@ static PyObject *__Pyx_CFunc_object____object____object___to_py(PyObject *(*__py
* """wrap(future_result, future)"""
* return f(future_result, future)
*/
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_46__Pyx_CFunc_object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_object____object, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_46__Pyx_CFunc_object____object____object___to_py_1wrap, 0, __pyx_n_s_Pyx_CFunc_object____object, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_wrap = __pyx_t_1;
__pyx_t_1 = 0;
@@ -126030,6 +127508,9 @@ static PyObject *__pyx_tp_new_19dependency_injector_9providers_Configuration(PyT
p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__pyx_vtabptr_19dependency_injector_9providers_Configuration;
p->__pyx___name = ((PyObject*)Py_None); Py_INCREF(Py_None);
p->__pyx___children = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->__pyx___yaml_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->__pyx___ini_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ p->__pyx___pydantic_settings = ((PyObject*)Py_None); Py_INCREF(Py_None);
return o;
}
@@ -126044,6 +127525,9 @@ static void __pyx_tp_dealloc_19dependency_injector_9providers_Configuration(PyOb
if (p->__weakref__) PyObject_ClearWeakRefs(o);
Py_CLEAR(p->__pyx___name);
Py_CLEAR(p->__pyx___children);
+ Py_CLEAR(p->__pyx___yaml_files);
+ Py_CLEAR(p->__pyx___ini_files);
+ Py_CLEAR(p->__pyx___pydantic_settings);
PyObject_GC_Track(o);
__pyx_tp_dealloc_19dependency_injector_9providers_Object(o);
}
@@ -126055,6 +127539,15 @@ static int __pyx_tp_traverse_19dependency_injector_9providers_Configuration(PyOb
if (p->__pyx___children) {
e = (*v)(p->__pyx___children, a); if (e) return e;
}
+ if (p->__pyx___yaml_files) {
+ e = (*v)(p->__pyx___yaml_files, a); if (e) return e;
+ }
+ if (p->__pyx___ini_files) {
+ e = (*v)(p->__pyx___ini_files, a); if (e) return e;
+ }
+ if (p->__pyx___pydantic_settings) {
+ e = (*v)(p->__pyx___pydantic_settings, a); if (e) return e;
+ }
return 0;
}
@@ -126065,6 +127558,15 @@ static int __pyx_tp_clear_19dependency_injector_9providers_Configuration(PyObjec
tmp = ((PyObject*)p->__pyx___children);
p->__pyx___children = ((PyObject*)Py_None); Py_INCREF(Py_None);
Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx___yaml_files);
+ p->__pyx___yaml_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx___ini_files);
+ p->__pyx___ini_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
+ tmp = ((PyObject*)p->__pyx___pydantic_settings);
+ p->__pyx___pydantic_settings = ((PyObject*)Py_None); Py_INCREF(Py_None);
+ Py_XDECREF(tmp);
return 0;
}
static PyObject *__pyx_sq_item_19dependency_injector_9providers_Configuration(PyObject *o, Py_ssize_t i) {
@@ -126101,22 +127603,29 @@ static PyMethodDef __pyx_methods_19dependency_injector_9providers_Configuration[
{"set_strict", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_25set_strict, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_24set_strict},
{"get_children", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_27get_children, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_26get_children},
{"set_children", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_29set_children, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_28set_children},
- {"get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_31get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_30get},
- {"set", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_33set, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_32set},
- {"override", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_35override, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_34override},
- {"reset_last_overriding", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_37reset_last_overriding, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_36reset_last_overriding},
- {"reset_override", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_39reset_override, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_38reset_override},
- {"reset_cache", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_41reset_cache, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_40reset_cache},
- {"update", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_43update, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_42update},
- {"from_ini", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_45from_ini, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_44from_ini},
- {"from_yaml", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_47from_yaml, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_46from_yaml},
- {"from_pydantic", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_49from_pydantic, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_48from_pydantic},
- {"from_dict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_51from_dict, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_50from_dict},
- {"from_env", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_53from_env, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_52from_env},
- {"from_value", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_55from_value, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_54from_value},
- {"_is_strict_mode_enabled", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_57_is_strict_mode_enabled, METH_NOARGS, 0},
- {"__reduce_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_59__reduce_cython__, METH_NOARGS, 0},
- {"__setstate_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_61__setstate_cython__, METH_O, 0},
+ {"get_yaml_files", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_31get_yaml_files, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_30get_yaml_files},
+ {"set_yaml_files", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_33set_yaml_files, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_32set_yaml_files},
+ {"get_ini_files", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_35get_ini_files, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_34get_ini_files},
+ {"set_ini_files", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_37set_ini_files, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_36set_ini_files},
+ {"get_pydantic_settings", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_39get_pydantic_settings, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_38get_pydantic_settings},
+ {"set_pydantic_settings", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_41set_pydantic_settings, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_40set_pydantic_settings},
+ {"load", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_43load, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_42load},
+ {"get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_45get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_44get},
+ {"set", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_47set, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_46set},
+ {"override", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_49override, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_48override},
+ {"reset_last_overriding", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_51reset_last_overriding, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_50reset_last_overriding},
+ {"reset_override", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_53reset_override, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_52reset_override},
+ {"reset_cache", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_55reset_cache, METH_NOARGS, __pyx_doc_19dependency_injector_9providers_13Configuration_54reset_cache},
+ {"update", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_57update, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_56update},
+ {"from_ini", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_59from_ini, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_58from_ini},
+ {"from_yaml", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_61from_yaml, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_60from_yaml},
+ {"from_pydantic", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_63from_pydantic, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_62from_pydantic},
+ {"from_dict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_65from_dict, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_64from_dict},
+ {"from_env", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_13Configuration_67from_env, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_13Configuration_66from_env},
+ {"from_value", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_69from_value, METH_O, __pyx_doc_19dependency_injector_9providers_13Configuration_68from_value},
+ {"_is_strict_mode_enabled", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_71_is_strict_mode_enabled, METH_NOARGS, 0},
+ {"__reduce_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_73__reduce_cython__, METH_NOARGS, 0},
+ {"__setstate_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_13Configuration_75__setstate_cython__, METH_O, 0},
{0, 0, 0, 0}
};
@@ -133571,6 +135080,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_DependenciesContainer___get, __pyx_k_DependenciesContainer___get, sizeof(__pyx_k_DependenciesContainer___get), 0, 0, 1, 1},
{&__pyx_kp_u_Dependency, __pyx_k_Dependency, sizeof(__pyx_k_Dependency), 0, 1, 0, 0},
{&__pyx_n_s_Dependency_2, __pyx_k_Dependency_2, sizeof(__pyx_k_Dependency_2), 0, 0, 1, 1},
+ {&__pyx_kp_s_Dependency_Injector_will_drop_su, __pyx_k_Dependency_Injector_will_drop_su, sizeof(__pyx_k_Dependency_Injector_will_drop_su), 0, 0, 1, 0},
{&__pyx_n_s_Dependency___get, __pyx_k_Dependency___get, sizeof(__pyx_k_Dependency___get), 0, 0, 1, 1},
{&__pyx_kp_s_Dependency_is_not_defined, __pyx_k_Dependency_is_not_defined, sizeof(__pyx_k_Dependency_is_not_defined), 0, 0, 1, 0},
{&__pyx_n_s_DeprecationWarning, __pyx_k_DeprecationWarning, sizeof(__pyx_k_DeprecationWarning), 0, 0, 1, 1},
@@ -133611,8 +135121,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_s_Incompatible_checksums_s_vs_0x8f, __pyx_k_Incompatible_checksums_s_vs_0x8f, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x8f), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0x97, __pyx_k_Incompatible_checksums_s_vs_0x97, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x97), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0xac, __pyx_k_Incompatible_checksums_s_vs_0xac, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xac), 0, 0, 1, 0},
+ {&__pyx_kp_s_Incompatible_checksums_s_vs_0xb6, __pyx_k_Incompatible_checksums_s_vs_0xb6, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xb6), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0xcd, __pyx_k_Incompatible_checksums_s_vs_0xcd, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xcd), 0, 0, 1, 0},
- {&__pyx_kp_s_Incompatible_checksums_s_vs_0xe1, __pyx_k_Incompatible_checksums_s_vs_0xe1, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xe1), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0xe8, __pyx_k_Incompatible_checksums_s_vs_0xe8, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xe8), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0xf0, __pyx_k_Incompatible_checksums_s_vs_0xf0, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xf0), 0, 0, 1, 0},
{&__pyx_kp_s_Incompatible_checksums_s_vs_0xf3, __pyx_k_Incompatible_checksums_s_vs_0xf3, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xf3), 0, 0, 1, 0},
@@ -133684,10 +135194,10 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_YamlLoader, __pyx_k_YamlLoader, sizeof(__pyx_k_YamlLoader), 0, 0, 1, 1},
{&__pyx_n_s__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 0, 1, 1},
{&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0},
- {&__pyx_kp_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 0},
- {&__pyx_kp_u__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 1, 0, 0},
- {&__pyx_kp_u__32, __pyx_k__32, sizeof(__pyx_k__32), 0, 1, 0, 0},
- {&__pyx_kp_u__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 1, 0, 0},
+ {&__pyx_kp_s__36, __pyx_k__36, sizeof(__pyx_k__36), 0, 0, 1, 0},
+ {&__pyx_kp_u__37, __pyx_k__37, sizeof(__pyx_k__37), 0, 1, 0, 0},
+ {&__pyx_kp_u__38, __pyx_k__38, sizeof(__pyx_k__38), 0, 1, 0, 0},
+ {&__pyx_kp_u__39, __pyx_k__39, sizeof(__pyx_k__39), 0, 1, 0, 0},
{&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0},
{&__pyx_kp_s__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 0, 1, 0},
{&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0},
@@ -133789,6 +135299,9 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
{&__pyx_n_s_from, __pyx_k_from, sizeof(__pyx_k_from), 0, 0, 1, 1},
{&__pyx_n_s_from_dict, __pyx_k_from_dict, sizeof(__pyx_k_from_dict), 0, 0, 1, 1},
+ {&__pyx_n_s_from_ini, __pyx_k_from_ini, sizeof(__pyx_k_from_ini), 0, 0, 1, 1},
+ {&__pyx_n_s_from_pydantic, __pyx_k_from_pydantic, sizeof(__pyx_k_from_pydantic), 0, 0, 1, 1},
+ {&__pyx_n_s_from_yaml, __pyx_k_from_yaml, sizeof(__pyx_k_from_yaml), 0, 0, 1, 1},
{&__pyx_n_s_full_reset, __pyx_k_full_reset, sizeof(__pyx_k_full_reset), 0, 0, 1, 1},
{&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
{&__pyx_n_s_future, __pyx_k_future, sizeof(__pyx_k_future), 0, 0, 1, 1},
@@ -133800,10 +135313,13 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_get_2, __pyx_k_get_2, sizeof(__pyx_k_get_2), 0, 0, 1, 1},
{&__pyx_n_s_get_children, __pyx_k_get_children, sizeof(__pyx_k_get_children), 0, 0, 1, 1},
{&__pyx_n_s_get_default, __pyx_k_get_default, sizeof(__pyx_k_get_default), 0, 0, 1, 1},
+ {&__pyx_n_s_get_ini_files, __pyx_k_get_ini_files, sizeof(__pyx_k_get_ini_files), 0, 0, 1, 1},
{&__pyx_n_s_get_name, __pyx_k_get_name, sizeof(__pyx_k_get_name), 0, 0, 1, 1},
+ {&__pyx_n_s_get_pydantic_settings, __pyx_k_get_pydantic_settings, sizeof(__pyx_k_get_pydantic_settings), 0, 0, 1, 1},
{&__pyx_n_s_get_self_name, __pyx_k_get_self_name, sizeof(__pyx_k_get_self_name), 0, 0, 1, 1},
{&__pyx_n_s_get_self_name_locals_genexpr, __pyx_k_get_self_name_locals_genexpr, sizeof(__pyx_k_get_self_name_locals_genexpr), 0, 0, 1, 1},
{&__pyx_n_s_get_strict, __pyx_k_get_strict, sizeof(__pyx_k_get_strict), 0, 0, 1, 1},
+ {&__pyx_n_s_get_yaml_files, __pyx_k_get_yaml_files, sizeof(__pyx_k_get_yaml_files), 0, 0, 1, 1},
{&__pyx_n_s_getenv, __pyx_k_getenv, sizeof(__pyx_k_getenv), 0, 0, 1, 1},
{&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
{&__pyx_n_s_group, __pyx_k_group, sizeof(__pyx_k_group), 0, 0, 1, 1},
@@ -133816,6 +135332,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_im_self, __pyx_k_im_self, sizeof(__pyx_k_im_self), 0, 0, 1, 1},
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
{&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
+ {&__pyx_n_s_ini_files, __pyx_k_ini_files, sizeof(__pyx_k_ini_files), 0, 0, 1, 1},
{&__pyx_n_s_iniconfigparser, __pyx_k_iniconfigparser, sizeof(__pyx_k_iniconfigparser), 0, 0, 1, 1},
{&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
{&__pyx_n_s_init_2, __pyx_k_init_2, sizeof(__pyx_k_init_2), 0, 0, 1, 1},
@@ -133890,6 +135407,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_providers, __pyx_k_providers, sizeof(__pyx_k_providers), 0, 0, 1, 1},
{&__pyx_n_s_provides, __pyx_k_provides, sizeof(__pyx_k_provides), 0, 0, 1, 1},
{&__pyx_n_s_pydantic, __pyx_k_pydantic, sizeof(__pyx_k_pydantic), 0, 0, 1, 1},
+ {&__pyx_n_s_pydantic_settings, __pyx_k_pydantic_settings, sizeof(__pyx_k_pydantic_settings), 0, 0, 1, 1},
{&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
{&__pyx_n_s_pyx_capi, __pyx_k_pyx_capi, sizeof(__pyx_k_pyx_capi), 0, 0, 1, 1},
{&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
@@ -133982,14 +135500,17 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_set_default, __pyx_k_set_default, sizeof(__pyx_k_set_default), 0, 0, 1, 1},
{&__pyx_n_s_set_exception, __pyx_k_set_exception, sizeof(__pyx_k_set_exception), 0, 0, 1, 1},
{&__pyx_n_s_set_factories, __pyx_k_set_factories, sizeof(__pyx_k_set_factories), 0, 0, 1, 1},
+ {&__pyx_n_s_set_ini_files, __pyx_k_set_ini_files, sizeof(__pyx_k_set_ini_files), 0, 0, 1, 1},
{&__pyx_n_s_set_instance_of, __pyx_k_set_instance_of, sizeof(__pyx_k_set_instance_of), 0, 0, 1, 1},
{&__pyx_n_s_set_kwargs, __pyx_k_set_kwargs, sizeof(__pyx_k_set_kwargs), 0, 0, 1, 1},
{&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1},
{&__pyx_n_s_set_providers, __pyx_k_set_providers, sizeof(__pyx_k_set_providers), 0, 0, 1, 1},
{&__pyx_n_s_set_provides, __pyx_k_set_provides, sizeof(__pyx_k_set_provides), 0, 0, 1, 1},
+ {&__pyx_n_s_set_pydantic_settings, __pyx_k_set_pydantic_settings, sizeof(__pyx_k_set_pydantic_settings), 0, 0, 1, 1},
{&__pyx_n_s_set_result, __pyx_k_set_result, sizeof(__pyx_k_set_result), 0, 0, 1, 1},
{&__pyx_n_s_set_selector, __pyx_k_set_selector, sizeof(__pyx_k_set_selector), 0, 0, 1, 1},
{&__pyx_n_s_set_strict, __pyx_k_set_strict, sizeof(__pyx_k_set_strict), 0, 0, 1, 1},
+ {&__pyx_n_s_set_yaml_files, __pyx_k_set_yaml_files, sizeof(__pyx_k_set_yaml_files), 0, 0, 1, 1},
{&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
{&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
{&__pyx_n_s_settings, __pyx_k_settings, sizeof(__pyx_k_settings), 0, 0, 1, 1},
@@ -134033,31 +135554,32 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1},
{&__pyx_n_s_wrap, __pyx_k_wrap, sizeof(__pyx_k_wrap), 0, 0, 1, 1},
{&__pyx_n_s_yaml, __pyx_k_yaml, sizeof(__pyx_k_yaml), 0, 0, 1, 1},
+ {&__pyx_n_s_yaml_files, __pyx_k_yaml_files, sizeof(__pyx_k_yaml_files), 0, 0, 1, 1},
{&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
__pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 5, __pyx_L1_error)
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 388, __pyx_L1_error)
- __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 477, __pyx_L1_error)
- __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(1, 128, __pyx_L1_error)
- __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(1, 3734, __pyx_L1_error)
- __pyx_builtin_reversed = __Pyx_GetBuiltinName(__pyx_n_s_reversed); if (!__pyx_builtin_reversed) __PYX_ERR(1, 75, __pyx_L1_error)
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 82, __pyx_L1_error)
- __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(1, 93, __pyx_L1_error)
- __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(1, 197, __pyx_L1_error)
- __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(1, 224, __pyx_L1_error)
- __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 306, __pyx_L1_error)
- __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(1, 361, __pyx_L1_error)
- __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(1, 421, __pyx_L1_error)
- __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(1, 721, __pyx_L1_error)
- __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(1, 729, __pyx_L1_error)
- __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 750, __pyx_L1_error)
- __pyx_builtin_filter = __Pyx_GetBuiltinName(__pyx_n_s_filter); if (!__pyx_builtin_filter) __PYX_ERR(1, 1205, __pyx_L1_error)
- __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(1, 1551, __pyx_L1_error)
- __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(1, 2566, __pyx_L1_error)
- __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 3031, __pyx_L1_error)
- __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(1, 3572, __pyx_L1_error)
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 391, __pyx_L1_error)
+ __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 480, __pyx_L1_error)
+ __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(1, 72, __pyx_L1_error)
+ __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(1, 136, __pyx_L1_error)
+ __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(1, 3813, __pyx_L1_error)
+ __pyx_builtin_reversed = __Pyx_GetBuiltinName(__pyx_n_s_reversed); if (!__pyx_builtin_reversed) __PYX_ERR(1, 83, __pyx_L1_error)
+ __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 90, __pyx_L1_error)
+ __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(1, 101, __pyx_L1_error)
+ __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(1, 205, __pyx_L1_error)
+ __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(1, 232, __pyx_L1_error)
+ __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 314, __pyx_L1_error)
+ __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(1, 429, __pyx_L1_error)
+ __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(1, 729, __pyx_L1_error)
+ __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(1, 737, __pyx_L1_error)
+ __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 758, __pyx_L1_error)
+ __pyx_builtin_filter = __Pyx_GetBuiltinName(__pyx_n_s_filter); if (!__pyx_builtin_filter) __PYX_ERR(1, 1213, __pyx_L1_error)
+ __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(1, 1559, __pyx_L1_error)
+ __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(1, 2645, __pyx_L1_error)
+ __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 3110, __pyx_L1_error)
+ __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(1, 3651, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
@@ -134067,93 +135589,93 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "dependency_injector/providers.pyx":93
+ /* "dependency_injector/providers.pyx":101
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file: # <<<<<<<<<<<<<<
* config_string = _resolve_config_env_markers(
* config_file.read(),
*/
- __pyx_tuple__3 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 93, __pyx_L1_error)
+ __pyx_tuple__3 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 101, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__3);
__Pyx_GIVEREF(__pyx_tuple__3);
- /* "dependency_injector/providers.pyx":358
+ /* "dependency_injector/providers.pyx":366
* :rtype: :py:class:`Delegate`
* """
* warnings.warn( # <<<<<<<<<<<<<<
* 'Method ".delegate()" is deprecated since version 4.0.0. '
* 'Use ".provider" attribute instead.',
*/
- __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Method_delegate_is_deprecated_si); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 358, __pyx_L1_error)
+ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Method_delegate_is_deprecated_si); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__4);
__Pyx_GIVEREF(__pyx_tuple__4);
- /* "dependency_injector/providers.pyx":1261
+ /* "dependency_injector/providers.pyx":1269
* cpdef object _provide(self, tuple args, dict kwargs):
* """Return result of provided callable's call."""
* raise NotImplementedError('Abstract provider forward providing logic ' # <<<<<<<<<<<<<<
* 'to overriding provider')
*
*/
- __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Abstract_provider_forward_provid); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 1261, __pyx_L1_error)
+ __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Abstract_provider_forward_provid); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 1269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__11);
__Pyx_GIVEREF(__pyx_tuple__11);
- /* "dependency_injector/providers.pyx":1672
+ /* "dependency_injector/providers.pyx":1680
* and (self._is_strict_mode_enabled() or required is True) \
* and not options:
* raise ValueError('Can not use empty dictionary') # <<<<<<<<<<<<<<
*
* try:
*/
- __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_Can_not_use_empty_dictionary); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 1672, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__16);
- __Pyx_GIVEREF(__pyx_tuple__16);
+ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_Can_not_use_empty_dictionary); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(1, 1680, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__18);
+ __Pyx_GIVEREF(__pyx_tuple__18);
- /* "dependency_injector/providers.pyx":2567
+ /* "dependency_injector/providers.pyx":2646
* factory_name = kwargs.pop('factory_name')
* except KeyError:
* raise TypeError('Factory missing 1 required positional argument: \'factory_name\'') # <<<<<<<<<<<<<<
* else:
* args = args[1:]
*/
- __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_Factory_missing_1_required_posit); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 2567, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__26);
- __Pyx_GIVEREF(__pyx_tuple__26);
+ __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_Factory_missing_1_required_posit); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(1, 2646, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__32);
+ __Pyx_GIVEREF(__pyx_tuple__32);
- /* "dependency_injector/providers.pyx":3031
+ /* "dependency_injector/providers.pyx":3110
* """
* if not contextvars:
* raise RuntimeError( # <<<<<<<<<<<<<<
* 'Contextvars library not found. This provider '
* 'requires Python 3.7 or a backport of contextvars. '
*/
- __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_Contextvars_library_not_found_Th); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(1, 3031, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__27);
- __Pyx_GIVEREF(__pyx_tuple__27);
+ __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_Contextvars_library_not_found_Th); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(1, 3110, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__33);
+ __Pyx_GIVEREF(__pyx_tuple__33);
- /* "dependency_injector/providers.pyx":3038
+ /* "dependency_injector/providers.pyx":3117
*
* super(ContextLocalSingleton, self).__init__(provides, *args, **kwargs)
* self.__storage = contextvars.ContextVar('__storage', default=self._none) # <<<<<<<<<<<<<<
*
* def reset(self):
*/
- __pyx_tuple__28 = PyTuple_Pack(1, __pyx_n_s_storage); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(1, 3038, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__28);
- __Pyx_GIVEREF(__pyx_tuple__28);
+ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_n_s_storage); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 3117, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__34);
+ __Pyx_GIVEREF(__pyx_tuple__34);
- /* "dependency_injector/providers.pyx":3736
+ /* "dependency_injector/providers.pyx":3815
* @staticmethod
* def _is_resource_subclass(instance):
* if sys.version_info < (3, 5): # <<<<<<<<<<<<<<
* return False
* if not isinstance(instance, CLASS_TYPES):
*/
- __pyx_tuple__29 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_5); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 3736, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__29);
- __Pyx_GIVEREF(__pyx_tuple__29);
+ __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_5); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 3815, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__35);
+ __Pyx_GIVEREF(__pyx_tuple__35);
/* "cfunc.to_py":65
* @cname("__Pyx_CFunc_void____object____object____object____object___to_py")
@@ -134162,22 +135684,22 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* """wrap(future_result, args, future_args_kwargs, future) -> 'void'"""
* f(future_result, args, future_args_kwargs, future)
*/
- __pyx_tuple__35 = PyTuple_Pack(4, __pyx_n_s_future_result, __pyx_n_s_args, __pyx_n_s_future_args_kwargs, __pyx_n_s_future); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
- __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__37 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__37);
- __Pyx_GIVEREF(__pyx_tuple__37);
- __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__39 = PyTuple_Pack(3, __pyx_n_s_future_result, __pyx_n_s_call_2, __pyx_n_s_future); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(2, 65, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__39);
- __Pyx_GIVEREF(__pyx_tuple__39);
- __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(2, 65, __pyx_L1_error)
- __pyx_tuple__41 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__41 = PyTuple_Pack(4, __pyx_n_s_future_result, __pyx_n_s_args, __pyx_n_s_future_args_kwargs, __pyx_n_s_future); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(2, 65, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__41);
__Pyx_GIVEREF(__pyx_tuple__41);
- __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__43);
+ __Pyx_GIVEREF(__pyx_tuple__43);
+ __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__45 = PyTuple_Pack(3, __pyx_n_s_future_result, __pyx_n_s_call_2, __pyx_n_s_future); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__45);
+ __Pyx_GIVEREF(__pyx_tuple__45);
+ __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __pyx_tuple__47 = PyTuple_Pack(2, __pyx_n_s_future_result, __pyx_n_s_future); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(2, 65, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__47);
+ __Pyx_GIVEREF(__pyx_tuple__47);
+ __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(2, 65, __pyx_L1_error)
/* "dependency_injector/providers.pyx":28
* _is_coroutine_marker = None
@@ -134186,354 +135708,376 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* import asyncio.coroutines
* _is_coroutine_marker = asyncio.coroutines._is_coroutine
*/
- __pyx_tuple__43 = PyTuple_Pack(3, __pyx_int_3, __pyx_int_5, __pyx_int_3); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(1, 28, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__43);
- __Pyx_GIVEREF(__pyx_tuple__43);
+ __pyx_tuple__49 = PyTuple_Pack(3, __pyx_int_3, __pyx_int_5, __pyx_int_3); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 28, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__49);
+ __Pyx_GIVEREF(__pyx_tuple__49);
/* "dependency_injector/providers.pyx":67
* obj.im_class)
*
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ __pyx_slice__50 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__50)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_slice__50);
+ __Pyx_GIVEREF(__pyx_slice__50);
+
+ /* "dependency_injector/providers.pyx":68
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_Dependency_Injector_will_drop_su); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 68, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__51);
+ __Pyx_GIVEREF(__pyx_tuple__51);
+
+ /* "dependency_injector/providers.pyx":75
+ * )
+ *
* config_env_marker_pattern = re.compile( # <<<<<<<<<<<<<<
* r'\${(?P[^}^{:]+)(?P:?)(?P.*?)}',
* )
*/
- __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_P_name_P_separator_P_default); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(1, 67, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__44);
- __Pyx_GIVEREF(__pyx_tuple__44);
+ __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_P_name_P_separator_P_default); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(1, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__52);
+ __Pyx_GIVEREF(__pyx_tuple__52);
- /* "dependency_injector/providers.pyx":71
+ /* "dependency_injector/providers.pyx":79
* )
*
* def _resolve_config_env_markers(config_content, envs_required=False): # <<<<<<<<<<<<<<
* """Replace environment variable markers with their values."""
* findings = list(config_env_marker_pattern.finditer(config_content))
*/
- __pyx_tuple__45 = PyTuple_Pack(9, __pyx_n_s_config_content, __pyx_n_s_envs_required, __pyx_n_s_findings, __pyx_n_s_match, __pyx_n_s_env_name, __pyx_n_s_has_default, __pyx_n_s_value, __pyx_n_s_span_min, __pyx_n_s_span_max); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(1, 71, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__45);
- __Pyx_GIVEREF(__pyx_tuple__45);
- __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_resolve_config_env_markers, 71, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 71, __pyx_L1_error)
+ __pyx_tuple__53 = PyTuple_Pack(9, __pyx_n_s_config_content, __pyx_n_s_envs_required, __pyx_n_s_findings, __pyx_n_s_match, __pyx_n_s_env_name, __pyx_n_s_has_default, __pyx_n_s_value, __pyx_n_s_span_min, __pyx_n_s_span_max); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 79, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__53);
+ __Pyx_GIVEREF(__pyx_tuple__53);
+ __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_resolve_config_env_markers, 79, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(1, 79, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":91
+ /* "dependency_injector/providers.pyx":99
*
* if sys.version_info[0] == 3:
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
*/
- __pyx_tuple__47 = PyTuple_Pack(5, __pyx_n_s_filepath, __pyx_n_s_envs_required, __pyx_n_s_parser, __pyx_n_s_config_file, __pyx_n_s_config_string); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 91, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__47);
- __Pyx_GIVEREF(__pyx_tuple__47);
- __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_parse_ini_file, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(1, 91, __pyx_L1_error)
+ __pyx_tuple__55 = PyTuple_Pack(5, __pyx_n_s_filepath, __pyx_n_s_envs_required, __pyx_n_s_parser, __pyx_n_s_config_file, __pyx_n_s_config_string); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(1, 99, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__55);
+ __Pyx_GIVEREF(__pyx_tuple__55);
+ __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_parse_ini_file, 99, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(1, 99, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":103
+ /* "dependency_injector/providers.pyx":111
* import StringIO
*
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
*/
- __pyx_tuple__49 = PyTuple_Pack(5, __pyx_n_s_filepath, __pyx_n_s_envs_required, __pyx_n_s_parser, __pyx_n_s_config_file, __pyx_n_s_config_string); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 103, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__49);
- __Pyx_GIVEREF(__pyx_tuple__49);
- __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_parse_ini_file, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(1, 103, __pyx_L1_error)
+ __pyx_tuple__57 = PyTuple_Pack(5, __pyx_n_s_filepath, __pyx_n_s_envs_required, __pyx_n_s_parser, __pyx_n_s_config_file, __pyx_n_s_config_string); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(1, 111, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__57);
+ __Pyx_GIVEREF(__pyx_tuple__57);
+ __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_parse_ini_file, 111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(1, 111, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3735
+ /* "dependency_injector/providers.pyx":3814
*
* @staticmethod
* def _is_resource_subclass(instance): # <<<<<<<<<<<<<<
* if sys.version_info < (3, 5):
* return False
*/
- __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_instance, __pyx_n_s_resources); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 3735, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__51);
- __Pyx_GIVEREF(__pyx_tuple__51);
- __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_is_resource_subclass, 3735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(1, 3735, __pyx_L1_error)
+ __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_instance, __pyx_n_s_resources); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 3814, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__59);
+ __Pyx_GIVEREF(__pyx_tuple__59);
+ __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_is_resource_subclass, 3814, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(1, 3814, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":3744
+ /* "dependency_injector/providers.pyx":3823
*
* @staticmethod
* def _is_async_resource_subclass(instance): # <<<<<<<<<<<<<<
* if sys.version_info < (3, 5):
* return False
*/
- __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_instance, __pyx_n_s_resources); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 3744, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__53);
- __Pyx_GIVEREF(__pyx_tuple__53);
- __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_is_async_resource_subclass, 3744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(1, 3744, __pyx_L1_error)
+ __pyx_tuple__61 = PyTuple_Pack(2, __pyx_n_s_instance, __pyx_n_s_resources); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 3823, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__61);
+ __Pyx_GIVEREF(__pyx_tuple__61);
+ __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_is_async_resource_subclass, 3823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(1, 3823, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4690
+ /* "dependency_injector/providers.pyx":4769
*
*
* def __add_sys_streams(memo): # <<<<<<<<<<<<<<
* """Add system streams to memo dictionary.
*
*/
- __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(1, 4690, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__55);
- __Pyx_GIVEREF(__pyx_tuple__55);
- __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_add_sys_streams, 4690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(1, 4690, __pyx_L1_error)
+ __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 4769, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__63);
+ __Pyx_GIVEREF(__pyx_tuple__63);
+ __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_add_sys_streams, 4769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(1, 4769, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4701
+ /* "dependency_injector/providers.pyx":4780
*
*
* def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<<
* """Merge dictionaries recursively.
*
*/
- __pyx_tuple__57 = PyTuple_Pack(5, __pyx_n_s_dict1, __pyx_n_s_dict2, __pyx_n_s_key, __pyx_n_s_value, __pyx_n_s_result); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(1, 4701, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__57);
- __Pyx_GIVEREF(__pyx_tuple__57);
- __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_merge_dicts, 4701, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(1, 4701, __pyx_L1_error)
+ __pyx_tuple__65 = PyTuple_Pack(5, __pyx_n_s_dict1, __pyx_n_s_dict2, __pyx_n_s_key, __pyx_n_s_value, __pyx_n_s_result); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 4780, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__65);
+ __Pyx_GIVEREF(__pyx_tuple__65);
+ __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_merge_dicts, 4780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(1, 4780, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4722
+ /* "dependency_injector/providers.pyx":4801
*
*
* def traverse(*providers, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* visited = set()
*/
- __pyx_tuple__59 = PyTuple_Pack(6, __pyx_n_s_types, __pyx_n_s_providers, __pyx_n_s_visited, __pyx_n_s_to_visit, __pyx_n_s_visiting, __pyx_n_s_child); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 4722, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__59);
- __Pyx_GIVEREF(__pyx_tuple__59);
- __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(0, 1, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_traverse, 4722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(1, 4722, __pyx_L1_error)
+ __pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_types, __pyx_n_s_providers, __pyx_n_s_visited, __pyx_n_s_to_visit, __pyx_n_s_visiting, __pyx_n_s_child); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(1, 4801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__67);
+ __Pyx_GIVEREF(__pyx_tuple__67);
+ __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(0, 1, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_traverse, 4801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(1, 4801, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4745
+ /* "dependency_injector/providers.pyx":4824
*
*
* def isawaitable(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
- __pyx_tuple__60 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 4745, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__60);
- __Pyx_GIVEREF(__pyx_tuple__60);
- __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isawaitable, 4745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(1, 4745, __pyx_L1_error)
+ __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(1, 4824, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__68);
+ __Pyx_GIVEREF(__pyx_tuple__68);
+ __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isawaitable, 4824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(1, 4824, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4756
+ /* "dependency_injector/providers.pyx":4832
*
*
* def iscoroutinefunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
- __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(1, 4756, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__62);
- __Pyx_GIVEREF(__pyx_tuple__62);
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_iscoroutinefunction, 4756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(1, 4756, __pyx_L1_error)
+ __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(1, 4832, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__70);
+ __Pyx_GIVEREF(__pyx_tuple__70);
+ __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_iscoroutinefunction, 4832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(1, 4832, __pyx_L1_error)
- /* "dependency_injector/providers.pyx":4767
+ /* "dependency_injector/providers.pyx":4840
*
*
* def isasyncgenfunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is an asynchronous generator function.
- *
+ * """Check if object is an asynchronous generator function."""
+ * try:
*/
- __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(1, 4767, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__64);
- __Pyx_GIVEREF(__pyx_tuple__64);
- __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isasyncgenfunction, 4767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(1, 4767, __pyx_L1_error)
+ __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(1, 4840, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__72);
+ __Pyx_GIVEREF(__pyx_tuple__72);
+ __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isasyncgenfunction, 4840, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(1, 4840, __pyx_L1_error)
/* "(tree fragment)":1
* def __pyx_unpickle_Provider(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_tuple__66 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__66);
- __Pyx_GIVEREF(__pyx_tuple__66);
- __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Provider, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(2, 1, __pyx_L1_error)
- __pyx_tuple__68 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__68);
- __Pyx_GIVEREF(__pyx_tuple__68);
- __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Object, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(2, 1, __pyx_L1_error)
- __pyx_tuple__70 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__70);
- __Pyx_GIVEREF(__pyx_tuple__70);
- __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Self, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(2, 1, __pyx_L1_error)
- __pyx_tuple__72 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_tuple__72);
- __Pyx_GIVEREF(__pyx_tuple__72);
- __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Delegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__74 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__74);
__Pyx_GIVEREF(__pyx_tuple__74);
- __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Dependency, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Provider, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__76 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__76);
__Pyx_GIVEREF(__pyx_tuple__76);
- __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ExternalDependenc, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Object, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__78 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__78);
__Pyx_GIVEREF(__pyx_tuple__78);
- __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DependenciesConta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Self, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__80 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__80);
__Pyx_GIVEREF(__pyx_tuple__80);
- __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Callable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Delegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__82 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__82);
__Pyx_GIVEREF(__pyx_tuple__82);
- __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedCallable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Dependency, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__84 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__84);
__Pyx_GIVEREF(__pyx_tuple__84);
- __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractCallable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ExternalDependenc, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__86 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__86);
__Pyx_GIVEREF(__pyx_tuple__86);
- __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_CallableDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DependenciesConta, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__88 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__88);
__Pyx_GIVEREF(__pyx_tuple__88);
- __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Coroutine, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Callable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__90 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__90);
__Pyx_GIVEREF(__pyx_tuple__90);
- __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedCoroutin, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedCallable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__92 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__92);
__Pyx_GIVEREF(__pyx_tuple__92);
- __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractCoroutine, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractCallable, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__94 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__94);
__Pyx_GIVEREF(__pyx_tuple__94);
- __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_CoroutineDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_CallableDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__96 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__96);
__Pyx_GIVEREF(__pyx_tuple__96);
- __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ConfigurationOpti, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Coroutine, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__98 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__98);
__Pyx_GIVEREF(__pyx_tuple__98);
- __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TypedConfiguratio, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedCoroutin, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__100 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__100);
__Pyx_GIVEREF(__pyx_tuple__100);
- __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Configuration, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractCoroutine, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__102 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__102);
__Pyx_GIVEREF(__pyx_tuple__102);
- __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Factory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_CoroutineDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__104 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__104);
__Pyx_GIVEREF(__pyx_tuple__104);
- __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedFactory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ConfigurationOpti, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__106 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__106);
__Pyx_GIVEREF(__pyx_tuple__106);
- __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractFactory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TypedConfiguratio, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__108 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__108);
__Pyx_GIVEREF(__pyx_tuple__108);
- __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FactoryDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Configuration, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__110 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__110);
__Pyx_GIVEREF(__pyx_tuple__110);
- __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FactoryAggregate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Factory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__112 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__112);
__Pyx_GIVEREF(__pyx_tuple__112);
- __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_BaseSingleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedFactory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__114 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__114);
__Pyx_GIVEREF(__pyx_tuple__114);
- __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Singleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractFactory, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__116 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__116);
__Pyx_GIVEREF(__pyx_tuple__116);
- __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedSingleto, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FactoryDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__118 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__118);
__Pyx_GIVEREF(__pyx_tuple__118);
- __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadSafeSinglet, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FactoryAggregate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__120 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__120);
__Pyx_GIVEREF(__pyx_tuple__120);
- __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedThreadSa, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_BaseSingleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__122 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__122);
__Pyx_GIVEREF(__pyx_tuple__122);
- __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadLocalSingle, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Singleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__124 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__124);
__Pyx_GIVEREF(__pyx_tuple__124);
- __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ContextLocalSingl, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedSingleto, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__126 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__126);
__Pyx_GIVEREF(__pyx_tuple__126);
- __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedThreadLo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadSafeSinglet, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__128 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__128);
__Pyx_GIVEREF(__pyx_tuple__128);
- __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractSingleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedThreadSa, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__130 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__130);
__Pyx_GIVEREF(__pyx_tuple__130);
- __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadLocalSingle, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__132 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__132);
__Pyx_GIVEREF(__pyx_tuple__132);
- __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_List, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ContextLocalSingl, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__134 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__134);
__Pyx_GIVEREF(__pyx_tuple__134);
- __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Dict, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DelegatedThreadLo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__136 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__136);
__Pyx_GIVEREF(__pyx_tuple__136);
- __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Resource, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AbstractSingleton, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__138 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__138);
__Pyx_GIVEREF(__pyx_tuple__138);
- __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Container, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonDelegate, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__140 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__140);
__Pyx_GIVEREF(__pyx_tuple__140);
- __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Selector, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_List, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__142 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__142);
__Pyx_GIVEREF(__pyx_tuple__142);
- __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ProvidedInstance, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Dict, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__144 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__144);
__Pyx_GIVEREF(__pyx_tuple__144);
- __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AttributeGetter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Resource, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__146 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__146);
__Pyx_GIVEREF(__pyx_tuple__146);
- __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ItemGetter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Container, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__148 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__148);
__Pyx_GIVEREF(__pyx_tuple__148);
- __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_MethodCaller, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Selector, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__150 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__150);
__Pyx_GIVEREF(__pyx_tuple__150);
- __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Injection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ProvidedInstance, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__152 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__152);
__Pyx_GIVEREF(__pyx_tuple__152);
- __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PositionalInjecti, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_AttributeGetter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__154 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__154);
__Pyx_GIVEREF(__pyx_tuple__154);
- __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_NamedInjection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ItemGetter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__156 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__156)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__156);
__Pyx_GIVEREF(__pyx_tuple__156);
- __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_OverridingContext, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_MethodCaller, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__158 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__158);
__Pyx_GIVEREF(__pyx_tuple__158);
- __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_BaseSingletonRese, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Injection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__160 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__160);
__Pyx_GIVEREF(__pyx_tuple__160);
- __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonResetCon, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PositionalInjecti, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(2, 1, __pyx_L1_error)
__pyx_tuple__162 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__162);
__Pyx_GIVEREF(__pyx_tuple__162);
- __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonFullRese, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_NamedInjection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_tuple__164 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__164);
+ __Pyx_GIVEREF(__pyx_tuple__164);
+ __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_OverridingContext, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_tuple__166 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__166);
+ __Pyx_GIVEREF(__pyx_tuple__166);
+ __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_BaseSingletonRese, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_tuple__168 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__168);
+ __Pyx_GIVEREF(__pyx_tuple__168);
+ __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonResetCon, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __pyx_tuple__170 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_tuple__170);
+ __Pyx_GIVEREF(__pyx_tuple__170);
+ __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SingletonFullRese, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(2, 1, __pyx_L1_error)
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
@@ -134568,8 +136112,8 @@ static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
__pyx_int_150935396 = PyInt_FromLong(150935396L); if (unlikely(!__pyx_int_150935396)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_158989095 = PyInt_FromLong(158989095L); if (unlikely(!__pyx_int_158989095)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_180691172 = PyInt_FromLong(180691172L); if (unlikely(!__pyx_int_180691172)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __pyx_int_190846735 = PyInt_FromLong(190846735L); if (unlikely(!__pyx_int_190846735)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_215836442 = PyInt_FromLong(215836442L); if (unlikely(!__pyx_int_215836442)) __PYX_ERR(1, 1, __pyx_L1_error)
- __pyx_int_236165063 = PyInt_FromLong(236165063L); if (unlikely(!__pyx_int_236165063)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_243289960 = PyInt_FromLong(243289960L); if (unlikely(!__pyx_int_243289960)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_251764667 = PyInt_FromLong(251764667L); if (unlikely(!__pyx_int_251764667)) __PYX_ERR(1, 1, __pyx_L1_error)
__pyx_int_255080066 = PyInt_FromLong(255080066L); if (unlikely(!__pyx_int_255080066)) __PYX_ERR(1, 1, __pyx_L1_error)
@@ -134644,7 +136188,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_vtabptr_19dependency_injector_9providers_Provider = &__pyx_vtable_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Provider._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Provider__provide;
__pyx_vtable_19dependency_injector_9providers_Provider._copy_overridings = (void (*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Provider__copy_overridings;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 135, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 143, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Provider.tp_print = 0;
#endif
@@ -134653,7 +136197,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 135, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 143, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Provider___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Provider___init__.doc = __pyx_doc_19dependency_injector_9providers_8Provider___init__;
@@ -134663,7 +136207,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 135, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 143, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_2__call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_2__call__.doc = __pyx_doc_19dependency_injector_9providers_8Provider_2__call__;
@@ -134673,7 +136217,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 135, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 143, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_8__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_8__str__.doc = __pyx_doc_19dependency_injector_9providers_8Provider_8__str__;
@@ -134683,7 +136227,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 135, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Provider, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 143, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_10__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Provider_10__repr__.doc = __pyx_doc_19dependency_injector_9providers_8Provider_10__repr__;
@@ -134691,15 +136235,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Provider.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 135, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Provider_3, (PyObject *)&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 135, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 135, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Provider.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 143, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Provider_3, (PyObject *)&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 143, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Provider) < 0) __PYX_ERR(1, 143, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Provider = &__pyx_type_19dependency_injector_9providers_Provider;
__pyx_vtabptr_19dependency_injector_9providers_Object = &__pyx_vtable_19dependency_injector_9providers_Object;
__pyx_vtable_19dependency_injector_9providers_Object.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Object.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_6Object__provide;
__pyx_type_19dependency_injector_9providers_Object.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 430, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 438, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Object.tp_print = 0;
#endif
@@ -134708,7 +136252,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 430, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 438, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_6Object___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_6Object___init__.doc = __pyx_doc_19dependency_injector_9providers_6Object___init__;
@@ -134718,7 +136262,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 430, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 438, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_6Object_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_6Object_4__str__.doc = __pyx_doc_19dependency_injector_9providers_6Object_4__str__;
@@ -134728,7 +136272,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 430, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Object, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 438, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_6Object_6__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_6Object_6__repr__.doc = __pyx_doc_19dependency_injector_9providers_6Object_6__repr__;
@@ -134736,15 +136280,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Object.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 430, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Object, (PyObject *)&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 430, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 430, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Object.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 438, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Object, (PyObject *)&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 438, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Object) < 0) __PYX_ERR(1, 438, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Object = &__pyx_type_19dependency_injector_9providers_Object;
__pyx_vtabptr_19dependency_injector_9providers_Self = &__pyx_vtable_19dependency_injector_9providers_Self;
__pyx_vtable_19dependency_injector_9providers_Self.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Self.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_4Self__provide;
__pyx_type_19dependency_injector_9providers_Self.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 504, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 512, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Self.tp_print = 0;
#endif
@@ -134753,7 +136297,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 504, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 512, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4Self___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4Self___init__.doc = __pyx_doc_19dependency_injector_9providers_4Self___init__;
@@ -134763,7 +136307,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 504, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 512, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4Self_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4Self_4__str__.doc = __pyx_doc_19dependency_injector_9providers_4Self_4__str__;
@@ -134773,7 +136317,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 504, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Self, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 512, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4Self_6__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4Self_6__repr__.doc = __pyx_doc_19dependency_injector_9providers_4Self_6__repr__;
@@ -134781,15 +136325,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Self.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 504, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Self, (PyObject *)&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 504, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 504, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Self.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 512, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Self, (PyObject *)&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 512, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Self) < 0) __PYX_ERR(1, 512, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Self = &__pyx_type_19dependency_injector_9providers_Self;
__pyx_vtabptr_19dependency_injector_9providers_Delegate = &__pyx_vtable_19dependency_injector_9providers_Delegate;
__pyx_vtable_19dependency_injector_9providers_Delegate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Delegate.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Delegate__provide;
__pyx_type_19dependency_injector_9providers_Delegate.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 553, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 561, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Delegate.tp_print = 0;
#endif
@@ -134798,7 +136342,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 553, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 561, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate___init__.doc = __pyx_doc_19dependency_injector_9providers_8Delegate___init__;
@@ -134808,7 +136352,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 553, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 561, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate_4__str__.doc = __pyx_doc_19dependency_injector_9providers_8Delegate_4__str__;
@@ -134818,7 +136362,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 553, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 561, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate_6__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Delegate_6__repr__.doc = __pyx_doc_19dependency_injector_9providers_8Delegate_6__repr__;
@@ -134826,20 +136370,20 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Delegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 553, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Delegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 553, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 553, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Delegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 561, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Delegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 561, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Delegate) < 0) __PYX_ERR(1, 561, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Delegate = &__pyx_type_19dependency_injector_9providers_Delegate;
__pyx_vtabptr_19dependency_injector_9providers_Dependency = &__pyx_vtable_19dependency_injector_9providers_Dependency;
__pyx_vtable_19dependency_injector_9providers_Dependency.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_type_19dependency_injector_9providers_Dependency.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 627, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 635, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Dependency.tp_print = 0;
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 627, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 635, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency___init__.doc = __pyx_doc_19dependency_injector_9providers_10Dependency___init__;
@@ -134849,7 +136393,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 627, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 635, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_4__call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_4__call__.doc = __pyx_doc_19dependency_injector_9providers_10Dependency_4__call__;
@@ -134859,7 +136403,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 627, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 635, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_8__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_8__str__.doc = __pyx_doc_19dependency_injector_9providers_10Dependency_8__str__;
@@ -134869,7 +136413,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 627, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency, "__repr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 635, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_10__repr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_10Dependency_10__repr__.doc = __pyx_doc_19dependency_injector_9providers_10Dependency_10__repr__;
@@ -134877,35 +136421,35 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Dependency.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 627, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Dependency_2, (PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 627, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 627, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Dependency.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 635, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Dependency_2, (PyObject *)&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 635, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Dependency) < 0) __PYX_ERR(1, 635, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Dependency = &__pyx_type_19dependency_injector_9providers_Dependency;
__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = &__pyx_vtable_19dependency_injector_9providers_ExternalDependency;
__pyx_vtable_19dependency_injector_9providers_ExternalDependency.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Dependency;
__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_base = __pyx_ptype_19dependency_injector_9providers_Dependency;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 837, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 845, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_dictoffset && __pyx_type_19dependency_injector_9providers_ExternalDependency.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 837, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ExternalDependency, (PyObject *)&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 837, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 837, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ExternalDependency.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 845, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ExternalDependency, (PyObject *)&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 845, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ExternalDependency) < 0) __PYX_ERR(1, 845, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ExternalDependency = &__pyx_type_19dependency_injector_9providers_ExternalDependency;
__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = &__pyx_vtable_19dependency_injector_9providers_DependenciesContainer;
__pyx_vtable_19dependency_injector_9providers_DependenciesContainer.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Object;
__pyx_vtable_19dependency_injector_9providers_DependenciesContainer._override_providers = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_21DependenciesContainer__override_providers;
__pyx_type_19dependency_injector_9providers_DependenciesContainer.tp_base = __pyx_ptype_19dependency_injector_9providers_Object;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 865, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 873, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DependenciesContainer.tp_print = 0;
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 865, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 873, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_21DependenciesContainer___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_21DependenciesContainer___init__.doc = __pyx_doc_19dependency_injector_9providers_21DependenciesContainer___init__;
@@ -134915,7 +136459,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 865, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 873, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_21DependenciesContainer_4__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_21DependenciesContainer_4__getattr__.doc = __pyx_doc_19dependency_injector_9providers_21DependenciesContainer_4__getattr__;
@@ -134923,15 +136467,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DependenciesContainer.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 865, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DependenciesContainer, (PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 865, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 865, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DependenciesContainer.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 873, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DependenciesContainer, (PyObject *)&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 873, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DependenciesContainer) < 0) __PYX_ERR(1, 873, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DependenciesContainer = &__pyx_type_19dependency_injector_9providers_DependenciesContainer;
__pyx_vtabptr_19dependency_injector_9providers_Callable = &__pyx_vtable_19dependency_injector_9providers_Callable;
__pyx_vtable_19dependency_injector_9providers_Callable.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Callable.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Callable__provide;
__pyx_type_19dependency_injector_9providers_Callable.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1042, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1050, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Callable.tp_print = 0;
#endif
@@ -134940,7 +136484,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Callable, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1042, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Callable, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1050, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Callable___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Callable___init__.doc = __pyx_doc_19dependency_injector_9providers_8Callable___init__;
@@ -134950,7 +136494,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Callable, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1042, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Callable, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1050, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Callable_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Callable_4__str__.doc = __pyx_doc_19dependency_injector_9providers_8Callable_4__str__;
@@ -134958,29 +136502,29 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Callable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1042, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Callable, (PyObject *)&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1042, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1042, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Callable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1050, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Callable, (PyObject *)&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1050, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Callable) < 0) __PYX_ERR(1, 1050, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Callable = &__pyx_type_19dependency_injector_9providers_Callable;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = &__pyx_vtable_19dependency_injector_9providers_DelegatedCallable;
__pyx_vtable_19dependency_injector_9providers_DelegatedCallable.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Callable;
__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_base = __pyx_ptype_19dependency_injector_9providers_Callable;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1215, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1223, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1215, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedCallable, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1215, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1215, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedCallable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1223, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedCallable, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1223, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedCallable) < 0) __PYX_ERR(1, 1223, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedCallable = &__pyx_type_19dependency_injector_9providers_DelegatedCallable;
__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = &__pyx_vtable_19dependency_injector_9providers_AbstractCallable;
__pyx_vtable_19dependency_injector_9providers_AbstractCallable.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Callable;
__pyx_vtable_19dependency_injector_9providers_AbstractCallable.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_16AbstractCallable__provide;
__pyx_type_19dependency_injector_9providers_AbstractCallable.tp_base = __pyx_ptype_19dependency_injector_9providers_Callable;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1224, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1232, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_AbstractCallable.tp_print = 0;
#endif
@@ -134989,7 +136533,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCallable, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1224, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCallable, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1232, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_16AbstractCallable___call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_16AbstractCallable___call__.doc = __pyx_doc_19dependency_injector_9providers_16AbstractCallable___call__;
@@ -134997,14 +136541,14 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractCallable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1224, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractCallable, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1224, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1224, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractCallable.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1232, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractCallable, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1232, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractCallable) < 0) __PYX_ERR(1, 1232, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractCallable = &__pyx_type_19dependency_injector_9providers_AbstractCallable;
__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = &__pyx_vtable_19dependency_injector_9providers_CallableDelegate;
__pyx_vtable_19dependency_injector_9providers_CallableDelegate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Delegate;
__pyx_type_19dependency_injector_9providers_CallableDelegate.tp_base = __pyx_ptype_19dependency_injector_9providers_Delegate;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1265, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1273, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_CallableDelegate.tp_print = 0;
#endif
@@ -135013,7 +136557,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_CallableDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1265, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_CallableDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1273, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_16CallableDelegate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_16CallableDelegate___init__.doc = __pyx_doc_19dependency_injector_9providers_16CallableDelegate___init__;
@@ -135021,43 +136565,43 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_CallableDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1265, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CallableDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1265, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1265, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_CallableDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1273, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CallableDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1273, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_CallableDelegate) < 0) __PYX_ERR(1, 1273, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_CallableDelegate = &__pyx_type_19dependency_injector_9providers_CallableDelegate;
__pyx_vtabptr_19dependency_injector_9providers_Coroutine = &__pyx_vtable_19dependency_injector_9providers_Coroutine;
__pyx_vtable_19dependency_injector_9providers_Coroutine.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Callable;
__pyx_type_19dependency_injector_9providers_Coroutine.tp_base = __pyx_ptype_19dependency_injector_9providers_Callable;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1287, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1295, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Coroutine.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_Coroutine.tp_dictoffset && __pyx_type_19dependency_injector_9providers_Coroutine.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_Coroutine.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Coroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1287, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Coroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1287, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1287, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Coroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1295, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Coroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1295, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Coroutine) < 0) __PYX_ERR(1, 1295, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Coroutine = &__pyx_type_19dependency_injector_9providers_Coroutine;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = &__pyx_vtable_19dependency_injector_9providers_DelegatedCoroutine;
__pyx_vtable_19dependency_injector_9providers_DelegatedCoroutine.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Coroutine;
__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_base = __pyx_ptype_19dependency_injector_9providers_Coroutine;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1323, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1331, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1323, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedCoroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1323, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1323, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedCoroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1331, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedCoroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1331, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedCoroutine) < 0) __PYX_ERR(1, 1331, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = &__pyx_type_19dependency_injector_9providers_DelegatedCoroutine;
__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = &__pyx_vtable_19dependency_injector_9providers_AbstractCoroutine;
__pyx_vtable_19dependency_injector_9providers_AbstractCoroutine.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Coroutine;
__pyx_vtable_19dependency_injector_9providers_AbstractCoroutine.__pyx_base.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_17AbstractCoroutine__provide;
__pyx_type_19dependency_injector_9providers_AbstractCoroutine.tp_base = __pyx_ptype_19dependency_injector_9providers_Coroutine;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1332, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1340, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_AbstractCoroutine.tp_print = 0;
#endif
@@ -135066,7 +136610,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1332, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1340, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_17AbstractCoroutine___call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_17AbstractCoroutine___call__.doc = __pyx_doc_19dependency_injector_9providers_17AbstractCoroutine___call__;
@@ -135074,14 +136618,14 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractCoroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1332, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractCoroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1332, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1332, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractCoroutine.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1340, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractCoroutine, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1340, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractCoroutine) < 0) __PYX_ERR(1, 1340, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = &__pyx_type_19dependency_injector_9providers_AbstractCoroutine;
__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = &__pyx_vtable_19dependency_injector_9providers_CoroutineDelegate;
__pyx_vtable_19dependency_injector_9providers_CoroutineDelegate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Delegate;
__pyx_type_19dependency_injector_9providers_CoroutineDelegate.tp_base = __pyx_ptype_19dependency_injector_9providers_Delegate;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1373, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1381, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_CoroutineDelegate.tp_print = 0;
#endif
@@ -135090,7 +136634,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1373, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 1381, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_17CoroutineDelegate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_17CoroutineDelegate___init__.doc = __pyx_doc_19dependency_injector_9providers_17CoroutineDelegate___init__;
@@ -135098,53 +136642,53 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_CoroutineDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1373, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoroutineDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1373, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1373, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_CoroutineDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1381, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoroutineDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1381, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_CoroutineDelegate) < 0) __PYX_ERR(1, 1381, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = &__pyx_type_19dependency_injector_9providers_CoroutineDelegate;
__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = &__pyx_vtable_19dependency_injector_9providers_ConfigurationOption;
__pyx_vtable_19dependency_injector_9providers_ConfigurationOption.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_ConfigurationOption.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_19ConfigurationOption__provide;
__pyx_type_19dependency_injector_9providers_ConfigurationOption.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1395, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1403, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ConfigurationOption.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ConfigurationOption.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1395, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ConfigurationOption, (PyObject *)&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1395, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1395, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ConfigurationOption.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1403, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ConfigurationOption, (PyObject *)&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1403, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ConfigurationOption) < 0) __PYX_ERR(1, 1403, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ConfigurationOption = &__pyx_type_19dependency_injector_9providers_ConfigurationOption;
__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = &__pyx_vtable_19dependency_injector_9providers_TypedConfigurationOption;
__pyx_vtable_19dependency_injector_9providers_TypedConfigurationOption.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Callable;
__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_base = __pyx_ptype_19dependency_injector_9providers_Callable;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1729, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1737, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_dictoffset && __pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1729, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TypedConfigurationOption, (PyObject *)&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1729, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1729, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_TypedConfigurationOption.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1737, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TypedConfigurationOption, (PyObject *)&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1737, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_TypedConfigurationOption) < 0) __PYX_ERR(1, 1737, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = &__pyx_type_19dependency_injector_9providers_TypedConfigurationOption;
__pyx_vtabptr_19dependency_injector_9providers_Configuration = &__pyx_vtable_19dependency_injector_9providers_Configuration;
__pyx_vtable_19dependency_injector_9providers_Configuration.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Object;
__pyx_type_19dependency_injector_9providers_Configuration.tp_base = __pyx_ptype_19dependency_injector_9providers_Object;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1736, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1744, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Configuration.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Configuration.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1736, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Configuration, (PyObject *)&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1736, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Configuration.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1744, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Configuration, (PyObject *)&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1744, __pyx_L1_error)
if (__pyx_type_19dependency_injector_9providers_Configuration.tp_weaklistoffset == 0) __pyx_type_19dependency_injector_9providers_Configuration.tp_weaklistoffset = offsetof(struct __pyx_obj_19dependency_injector_9providers_Configuration, __weakref__);
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1736, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Configuration) < 0) __PYX_ERR(1, 1744, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Configuration = &__pyx_type_19dependency_injector_9providers_Configuration;
__pyx_vtabptr_19dependency_injector_9providers_Factory = &__pyx_vtable_19dependency_injector_9providers_Factory;
__pyx_vtable_19dependency_injector_9providers_Factory.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Factory.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_7Factory__provide;
__pyx_type_19dependency_injector_9providers_Factory.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2159, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2238, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Factory.tp_print = 0;
#endif
@@ -135153,7 +136697,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Factory, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2159, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Factory, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2238, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_7Factory___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_7Factory___init__.doc = __pyx_doc_19dependency_injector_9providers_7Factory___init__;
@@ -135163,7 +136707,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Factory, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2159, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Factory, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2238, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_7Factory_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_7Factory_4__str__.doc = __pyx_doc_19dependency_injector_9providers_7Factory_4__str__;
@@ -135171,29 +136715,29 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Factory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2159, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Factory, (PyObject *)&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2159, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2159, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Factory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2238, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Factory, (PyObject *)&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2238, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Factory) < 0) __PYX_ERR(1, 2238, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Factory = &__pyx_type_19dependency_injector_9providers_Factory;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = &__pyx_vtable_19dependency_injector_9providers_DelegatedFactory;
__pyx_vtable_19dependency_injector_9providers_DelegatedFactory.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Factory;
__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_base = __pyx_ptype_19dependency_injector_9providers_Factory;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2388, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2467, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2388, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedFactory, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2388, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2388, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedFactory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2467, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedFactory, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2467, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedFactory) < 0) __PYX_ERR(1, 2467, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedFactory = &__pyx_type_19dependency_injector_9providers_DelegatedFactory;
__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = &__pyx_vtable_19dependency_injector_9providers_AbstractFactory;
__pyx_vtable_19dependency_injector_9providers_AbstractFactory.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Factory;
__pyx_vtable_19dependency_injector_9providers_AbstractFactory.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_15AbstractFactory__provide;
__pyx_type_19dependency_injector_9providers_AbstractFactory.tp_base = __pyx_ptype_19dependency_injector_9providers_Factory;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2410, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2489, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_AbstractFactory.tp_print = 0;
#endif
@@ -135202,7 +136746,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractFactory, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2410, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractFactory, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2489, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_15AbstractFactory___call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_15AbstractFactory___call__.doc = __pyx_doc_19dependency_injector_9providers_15AbstractFactory___call__;
@@ -135210,14 +136754,14 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractFactory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2410, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractFactory, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2410, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2410, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractFactory.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2489, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractFactory, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2489, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractFactory) < 0) __PYX_ERR(1, 2489, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractFactory = &__pyx_type_19dependency_injector_9providers_AbstractFactory;
__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = &__pyx_vtable_19dependency_injector_9providers_FactoryDelegate;
__pyx_vtable_19dependency_injector_9providers_FactoryDelegate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Delegate;
__pyx_type_19dependency_injector_9providers_FactoryDelegate.tp_base = __pyx_ptype_19dependency_injector_9providers_Delegate;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2451, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2530, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_FactoryDelegate.tp_print = 0;
#endif
@@ -135226,7 +136770,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2451, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2530, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_15FactoryDelegate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_15FactoryDelegate___init__.doc = __pyx_doc_19dependency_injector_9providers_15FactoryDelegate___init__;
@@ -135234,22 +136778,22 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_FactoryDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2451, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FactoryDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2451, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2451, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_FactoryDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2530, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FactoryDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2530, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_FactoryDelegate) < 0) __PYX_ERR(1, 2530, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryDelegate = &__pyx_type_19dependency_injector_9providers_FactoryDelegate;
__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = &__pyx_vtable_19dependency_injector_9providers_FactoryAggregate;
__pyx_vtable_19dependency_injector_9providers_FactoryAggregate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_FactoryAggregate.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_16FactoryAggregate__provide;
__pyx_vtable_19dependency_injector_9providers_FactoryAggregate.__pyx___get_factory = (struct __pyx_obj_19dependency_injector_9providers_Factory *(*)(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate *, PyObject *))__pyx_f_19dependency_injector_9providers_16FactoryAggregate___get_factory;
__pyx_type_19dependency_injector_9providers_FactoryAggregate.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2473, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2552, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_FactoryAggregate.tp_print = 0;
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2473, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2552, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate___init__.doc = __pyx_doc_19dependency_injector_9providers_16FactoryAggregate___init__;
@@ -135259,7 +136803,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2473, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2552, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate_4__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate_4__getattr__.doc = __pyx_doc_19dependency_injector_9providers_16FactoryAggregate_4__getattr__;
@@ -135269,7 +136813,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2473, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2552, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate_6__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_16FactoryAggregate_6__str__.doc = __pyx_doc_19dependency_injector_9providers_16FactoryAggregate_6__str__;
@@ -135277,14 +136821,14 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_FactoryAggregate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2473, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FactoryAggregate, (PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2473, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2473, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_FactoryAggregate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2552, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FactoryAggregate, (PyObject *)&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2552, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_FactoryAggregate) < 0) __PYX_ERR(1, 2552, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryAggregate = &__pyx_type_19dependency_injector_9providers_FactoryAggregate;
__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = &__pyx_vtable_19dependency_injector_9providers_BaseSingleton;
__pyx_vtable_19dependency_injector_9providers_BaseSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_type_19dependency_injector_9providers_BaseSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2579, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2658, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_BaseSingleton.tp_print = 0;
#endif
@@ -135293,7 +136837,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2579, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2658, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_13BaseSingleton___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_13BaseSingleton___init__.doc = __pyx_doc_19dependency_injector_9providers_13BaseSingleton___init__;
@@ -135303,7 +136847,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2579, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2658, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_13BaseSingleton_2__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_13BaseSingleton_2__str__.doc = __pyx_doc_19dependency_injector_9providers_13BaseSingleton_2__str__;
@@ -135311,15 +136855,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_BaseSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2579, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2579, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2579, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_BaseSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2658, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2658, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingleton) < 0) __PYX_ERR(1, 2658, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingleton = &__pyx_type_19dependency_injector_9providers_BaseSingleton;
__pyx_vtabptr_19dependency_injector_9providers_Singleton = &__pyx_vtable_19dependency_injector_9providers_Singleton;
__pyx_vtable_19dependency_injector_9providers_Singleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
__pyx_vtable_19dependency_injector_9providers_Singleton.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_9Singleton__provide;
__pyx_type_19dependency_injector_9providers_Singleton.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2768, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2847, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Singleton.tp_print = 0;
#endif
@@ -135328,7 +136872,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Singleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2768, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Singleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2847, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_9Singleton___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_9Singleton___init__.doc = __pyx_doc_19dependency_injector_9providers_9Singleton___init__;
@@ -135336,29 +136880,29 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Singleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2768, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Singleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2768, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2768, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Singleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2847, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Singleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2847, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Singleton) < 0) __PYX_ERR(1, 2847, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Singleton = &__pyx_type_19dependency_injector_9providers_Singleton;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = &__pyx_vtable_19dependency_injector_9providers_DelegatedSingleton;
__pyx_vtable_19dependency_injector_9providers_DelegatedSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Singleton;
__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_Singleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2836, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2915, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2836, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2836, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2836, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2915, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2915, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedSingleton) < 0) __PYX_ERR(1, 2915, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = &__pyx_type_19dependency_injector_9providers_DelegatedSingleton;
__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = &__pyx_vtable_19dependency_injector_9providers_ThreadSafeSingleton;
__pyx_vtable_19dependency_injector_9providers_ThreadSafeSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
__pyx_vtable_19dependency_injector_9providers_ThreadSafeSingleton.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_19ThreadSafeSingleton__provide;
__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2858, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2937, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton.tp_print = 0;
#endif
@@ -135367,7 +136911,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2858, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2937, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_19ThreadSafeSingleton___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_19ThreadSafeSingleton___init__.doc = __pyx_doc_19dependency_injector_9providers_19ThreadSafeSingleton___init__;
@@ -135375,29 +136919,29 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2858, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadSafeSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2858, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2858, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2937, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadSafeSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2937, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton) < 0) __PYX_ERR(1, 2937, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = &__pyx_type_19dependency_injector_9providers_ThreadSafeSingleton;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = &__pyx_vtable_19dependency_injector_9providers_DelegatedThreadSafeSingleton;
__pyx_vtable_19dependency_injector_9providers_DelegatedThreadSafeSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton;
__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2906, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2985, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2906, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedThreadSafeSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2906, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2906, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2985, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedThreadSafeSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2985, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton) < 0) __PYX_ERR(1, 2985, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = &__pyx_type_19dependency_injector_9providers_DelegatedThreadSafeSingleton;
__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = &__pyx_vtable_19dependency_injector_9providers_ThreadLocalSingleton;
__pyx_vtable_19dependency_injector_9providers_ThreadLocalSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
__pyx_vtable_19dependency_injector_9providers_ThreadLocalSingleton.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_20ThreadLocalSingleton__provide;
__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 2928, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 3007, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton.tp_print = 0;
#endif
@@ -135406,7 +136950,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 2928, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3007, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_20ThreadLocalSingleton___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_20ThreadLocalSingleton___init__.doc = __pyx_doc_19dependency_injector_9providers_20ThreadLocalSingleton___init__;
@@ -135414,15 +136958,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 2928, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 2928, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 2928, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 3007, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 3007, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton) < 0) __PYX_ERR(1, 3007, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = &__pyx_type_19dependency_injector_9providers_ThreadLocalSingleton;
__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = &__pyx_vtable_19dependency_injector_9providers_ContextLocalSingleton;
__pyx_vtable_19dependency_injector_9providers_ContextLocalSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
__pyx_vtable_19dependency_injector_9providers_ContextLocalSingleton.__pyx_base.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_21ContextLocalSingleton__provide;
__pyx_type_19dependency_injector_9providers_ContextLocalSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3083, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ContextLocalSingleton.tp_print = 0;
#endif
@@ -135431,7 +136975,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3004, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3083, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_21ContextLocalSingleton___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_21ContextLocalSingleton___init__.doc = __pyx_doc_19dependency_injector_9providers_21ContextLocalSingleton___init__;
@@ -135439,28 +136983,28 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ContextLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ContextLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ContextLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3083, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ContextLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3083, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ContextLocalSingleton) < 0) __PYX_ERR(1, 3083, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = &__pyx_type_19dependency_injector_9providers_ContextLocalSingleton;
__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = &__pyx_vtable_19dependency_injector_9providers_DelegatedThreadLocalSingleton;
__pyx_vtable_19dependency_injector_9providers_DelegatedThreadLocalSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton;
__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3087, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3166, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_dictoffset && __pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3087, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedThreadLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3087, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3087, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3166, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DelegatedThreadLocalSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3166, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton) < 0) __PYX_ERR(1, 3166, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = &__pyx_type_19dependency_injector_9providers_DelegatedThreadLocalSingleton;
__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = &__pyx_vtable_19dependency_injector_9providers_AbstractSingleton;
__pyx_vtable_19dependency_injector_9providers_AbstractSingleton.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton;
__pyx_type_19dependency_injector_9providers_AbstractSingleton.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingleton;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3109, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3188, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_AbstractSingleton.tp_print = 0;
#endif
@@ -135469,7 +137013,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractSingleton, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3109, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractSingleton, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3188, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_17AbstractSingleton___call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_17AbstractSingleton___call__.doc = __pyx_doc_19dependency_injector_9providers_17AbstractSingleton___call__;
@@ -135477,14 +137021,14 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3109, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3109, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3109, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AbstractSingleton.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3188, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AbstractSingleton, (PyObject *)&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3188, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AbstractSingleton) < 0) __PYX_ERR(1, 3188, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractSingleton = &__pyx_type_19dependency_injector_9providers_AbstractSingleton;
__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = &__pyx_vtable_19dependency_injector_9providers_SingletonDelegate;
__pyx_vtable_19dependency_injector_9providers_SingletonDelegate.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Delegate;
__pyx_type_19dependency_injector_9providers_SingletonDelegate.tp_base = __pyx_ptype_19dependency_injector_9providers_Delegate;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3154, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3233, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_SingletonDelegate.tp_print = 0;
#endif
@@ -135493,7 +137037,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3154, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonDelegate, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3233, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_17SingletonDelegate___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_17SingletonDelegate___init__.doc = __pyx_doc_19dependency_injector_9providers_17SingletonDelegate___init__;
@@ -135501,15 +137045,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_SingletonDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3154, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3154, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3154, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_SingletonDelegate.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3233, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonDelegate, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3233, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonDelegate) < 0) __PYX_ERR(1, 3233, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonDelegate = &__pyx_type_19dependency_injector_9providers_SingletonDelegate;
__pyx_vtabptr_19dependency_injector_9providers_List = &__pyx_vtable_19dependency_injector_9providers_List;
__pyx_vtable_19dependency_injector_9providers_List.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_List.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_4List__provide;
__pyx_type_19dependency_injector_9providers_List.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3176, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3255, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_List.tp_print = 0;
#endif
@@ -135518,7 +137062,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_List, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3176, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_List, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3255, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4List___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4List___init__.doc = __pyx_doc_19dependency_injector_9providers_4List___init__;
@@ -135528,7 +137072,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_List, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3176, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_List, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3255, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4List_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4List_4__str__.doc = __pyx_doc_19dependency_injector_9providers_4List_4__str__;
@@ -135536,15 +137080,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_List.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3176, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_List, (PyObject *)&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3176, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3176, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_List.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3255, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_List, (PyObject *)&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3255, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_List) < 0) __PYX_ERR(1, 3255, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_List = &__pyx_type_19dependency_injector_9providers_List;
__pyx_vtabptr_19dependency_injector_9providers_Dict = &__pyx_vtable_19dependency_injector_9providers_Dict;
__pyx_vtable_19dependency_injector_9providers_Dict.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Dict.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_4Dict__provide;
__pyx_type_19dependency_injector_9providers_Dict.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3284, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3363, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Dict.tp_print = 0;
#endif
@@ -135553,7 +137097,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dict, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3284, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dict, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3363, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4Dict___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4Dict___init__.doc = __pyx_doc_19dependency_injector_9providers_4Dict___init__;
@@ -135563,7 +137107,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dict, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3284, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Dict, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3363, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_4Dict_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_4Dict_4__str__.doc = __pyx_doc_19dependency_injector_9providers_4Dict_4__str__;
@@ -135571,15 +137115,15 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Dict.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3284, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Dict, (PyObject *)&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3284, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3284, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Dict.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3363, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Dict, (PyObject *)&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3363, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Dict) < 0) __PYX_ERR(1, 3363, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Dict = &__pyx_type_19dependency_injector_9providers_Dict;
__pyx_vtabptr_19dependency_injector_9providers_Resource = &__pyx_vtable_19dependency_injector_9providers_Resource;
__pyx_vtable_19dependency_injector_9providers_Resource.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Resource.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Resource__provide;
__pyx_type_19dependency_injector_9providers_Resource.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3411, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3490, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Resource.tp_print = 0;
#endif
@@ -135588,7 +137132,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Resource, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3411, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Resource, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3490, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Resource_4__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Resource_4__str__.doc = __pyx_doc_19dependency_injector_9providers_8Resource_4__str__;
@@ -135596,21 +137140,21 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Resource.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3411, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Resource, (PyObject *)&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3411, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3411, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Resource.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3490, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Resource, (PyObject *)&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3490, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Resource) < 0) __PYX_ERR(1, 3490, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Resource = &__pyx_type_19dependency_injector_9providers_Resource;
__pyx_vtabptr_19dependency_injector_9providers_Container = &__pyx_vtable_19dependency_injector_9providers_Container;
__pyx_vtable_19dependency_injector_9providers_Container.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Container.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_9Container__provide;
__pyx_type_19dependency_injector_9providers_Container.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3753, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3832, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Container.tp_print = 0;
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Container, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3753, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Container, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3832, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_9Container___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_9Container___init__.doc = __pyx_doc_19dependency_injector_9providers_9Container___init__;
@@ -135620,7 +137164,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Container, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3753, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Container, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3832, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_9Container_4__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_9Container_4__getattr__.doc = __pyx_doc_19dependency_injector_9providers_9Container_4__getattr__;
@@ -135628,21 +137172,21 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Container.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3753, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Container, (PyObject *)&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3753, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3753, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Container.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3832, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Container, (PyObject *)&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3832, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Container) < 0) __PYX_ERR(1, 3832, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Container = &__pyx_type_19dependency_injector_9providers_Container;
__pyx_vtabptr_19dependency_injector_9providers_Selector = &__pyx_vtable_19dependency_injector_9providers_Selector;
__pyx_vtable_19dependency_injector_9providers_Selector.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_Selector.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_8Selector__provide;
__pyx_type_19dependency_injector_9providers_Selector.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3894, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3973, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Selector.tp_print = 0;
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3894, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3973, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Selector___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Selector___init__.doc = __pyx_doc_19dependency_injector_9providers_8Selector___init__;
@@ -135652,7 +137196,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3894, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3973, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Selector_4__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Selector_4__getattr__.doc = __pyx_doc_19dependency_injector_9providers_8Selector_4__getattr__;
@@ -135662,7 +137206,7 @@ static int __Pyx_modinit_type_init_code(void) {
#endif
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3894, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_Selector, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(1, 3973, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_8Selector_6__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_8Selector_6__str__.doc = __pyx_doc_19dependency_injector_9providers_8Selector_6__str__;
@@ -135670,70 +137214,70 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Selector.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3894, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Selector, (PyObject *)&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3894, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3894, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_Selector.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3973, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Selector, (PyObject *)&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3973, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Selector) < 0) __PYX_ERR(1, 3973, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Selector = &__pyx_type_19dependency_injector_9providers_Selector;
__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = &__pyx_vtable_19dependency_injector_9providers_ProvidedInstance;
__pyx_vtable_19dependency_injector_9providers_ProvidedInstance.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_ProvidedInstance.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_16ProvidedInstance__provide;
__pyx_type_19dependency_injector_9providers_ProvidedInstance.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4017, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4096, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ProvidedInstance.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ProvidedInstance.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4017, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ProvidedInstance, (PyObject *)&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4017, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4017, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ProvidedInstance.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4096, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ProvidedInstance, (PyObject *)&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4096, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ProvidedInstance) < 0) __PYX_ERR(1, 4096, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ProvidedInstance = &__pyx_type_19dependency_injector_9providers_ProvidedInstance;
__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = &__pyx_vtable_19dependency_injector_9providers_AttributeGetter;
__pyx_vtable_19dependency_injector_9providers_AttributeGetter.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_AttributeGetter.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_15AttributeGetter__provide;
__pyx_type_19dependency_injector_9providers_AttributeGetter.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4095, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4174, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_AttributeGetter.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AttributeGetter.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4095, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AttributeGetter, (PyObject *)&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4095, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4095, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_AttributeGetter.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4174, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AttributeGetter, (PyObject *)&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4174, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_AttributeGetter) < 0) __PYX_ERR(1, 4174, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AttributeGetter = &__pyx_type_19dependency_injector_9providers_AttributeGetter;
__pyx_vtabptr_19dependency_injector_9providers_ItemGetter = &__pyx_vtable_19dependency_injector_9providers_ItemGetter;
__pyx_vtable_19dependency_injector_9providers_ItemGetter.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_ItemGetter.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_10ItemGetter__provide;
__pyx_type_19dependency_injector_9providers_ItemGetter.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4177, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4256, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_ItemGetter.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ItemGetter.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4177, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ItemGetter, (PyObject *)&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4177, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4177, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_ItemGetter.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4256, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ItemGetter, (PyObject *)&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4256, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_ItemGetter) < 0) __PYX_ERR(1, 4256, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ItemGetter = &__pyx_type_19dependency_injector_9providers_ItemGetter;
__pyx_vtabptr_19dependency_injector_9providers_MethodCaller = &__pyx_vtable_19dependency_injector_9providers_MethodCaller;
__pyx_vtable_19dependency_injector_9providers_MethodCaller.__pyx_base = *__pyx_vtabptr_19dependency_injector_9providers_Provider;
__pyx_vtable_19dependency_injector_9providers_MethodCaller.__pyx_base._provide = (PyObject *(*)(struct __pyx_obj_19dependency_injector_9providers_Provider *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_19dependency_injector_9providers_12MethodCaller__provide;
__pyx_type_19dependency_injector_9providers_MethodCaller.tp_base = __pyx_ptype_19dependency_injector_9providers_Provider;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4259, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4338, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_MethodCaller.tp_print = 0;
#endif
- if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_MethodCaller.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4259, __pyx_L1_error)
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MethodCaller, (PyObject *)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4259, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4259, __pyx_L1_error)
+ if (__Pyx_SetVtable(__pyx_type_19dependency_injector_9providers_MethodCaller.tp_dict, __pyx_vtabptr_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4338, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MethodCaller, (PyObject *)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4338, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4338, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_MethodCaller = &__pyx_type_19dependency_injector_9providers_MethodCaller;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4405, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4484, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_Injection.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_Injection.tp_dictoffset && __pyx_type_19dependency_injector_9providers_Injection.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_Injection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Injection, (PyObject *)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4405, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4405, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Injection, (PyObject *)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4484, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4484, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Injection = &__pyx_type_19dependency_injector_9providers_Injection;
__pyx_type_19dependency_injector_9providers_PositionalInjection.tp_base = __pyx_ptype_19dependency_injector_9providers_Injection;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4409, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4488, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_PositionalInjection.tp_print = 0;
#endif
@@ -135742,7 +137286,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4409, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4488, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_19PositionalInjection___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_19PositionalInjection___init__.doc = __pyx_doc_19dependency_injector_9providers_19PositionalInjection___init__;
@@ -135750,11 +137294,11 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PositionalInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4409, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4409, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PositionalInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4488, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4488, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_PositionalInjection = &__pyx_type_19dependency_injector_9providers_PositionalInjection;
__pyx_type_19dependency_injector_9providers_NamedInjection.tp_base = __pyx_ptype_19dependency_injector_9providers_Injection;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4446, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4525, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_NamedInjection.tp_print = 0;
#endif
@@ -135763,7 +137307,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4446, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4525, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_14NamedInjection___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_14NamedInjection___init__.doc = __pyx_doc_19dependency_injector_9providers_14NamedInjection___init__;
@@ -135771,10 +137315,10 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NamedInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4446, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4446, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NamedInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4525, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4525, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_NamedInjection = &__pyx_type_19dependency_injector_9providers_NamedInjection;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4532, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4611, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_OverridingContext.tp_print = 0;
#endif
@@ -135783,7 +137327,7 @@ static int __Pyx_modinit_type_init_code(void) {
}
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4532, __pyx_L1_error)
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4611, __pyx_L1_error)
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_19dependency_injector_9providers_17OverridingContext___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_19dependency_injector_9providers_17OverridingContext___init__.doc = __pyx_doc_19dependency_injector_9providers_17OverridingContext___init__;
@@ -135791,42 +137335,42 @@ static int __Pyx_modinit_type_init_code(void) {
}
}
#endif
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_OverridingContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4532, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4532, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_OverridingContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4611, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4611, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_OverridingContext = &__pyx_type_19dependency_injector_9providers_OverridingContext;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4568, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4647, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4568, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4568, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4647, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4647, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = &__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext;
__pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4581, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4660, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4581, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4581, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4660, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4660, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonResetContext = &__pyx_type_19dependency_injector_9providers_SingletonResetContext;
__pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4666, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr;
}
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonFullResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
- if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonFullResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4666, __pyx_L1_error)
+ if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4666, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = &__pyx_type_19dependency_injector_9providers_SingletonFullResetContext;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__) < 0) __PYX_ERR(1, 406, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__) < 0) __PYX_ERR(1, 414, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__.tp_print = 0;
#endif
@@ -135834,7 +137378,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct____get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_1___get__) < 0) __PYX_ERR(1, 484, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_1___get__) < 0) __PYX_ERR(1, 492, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_1___get__.tp_print = 0;
#endif
@@ -135842,7 +137386,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_1___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_1___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_1___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_2___get__) < 0) __PYX_ERR(1, 608, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_2___get__) < 0) __PYX_ERR(1, 616, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_2___get__.tp_print = 0;
#endif
@@ -135850,7 +137394,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_2___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_2___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_2___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_3___get__) < 0) __PYX_ERR(1, 787, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_3___get__) < 0) __PYX_ERR(1, 795, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_3___get__.tp_print = 0;
#endif
@@ -135858,7 +137402,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_3___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_3___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_3___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_4___get__) < 0) __PYX_ERR(1, 993, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_4___get__) < 0) __PYX_ERR(1, 1001, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_4___get__.tp_print = 0;
#endif
@@ -135866,7 +137410,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_4___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_4___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_4___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_5___get__) < 0) __PYX_ERR(1, 1203, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_5___get__) < 0) __PYX_ERR(1, 1211, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_5___get__.tp_print = 0;
#endif
@@ -135874,7 +137418,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_5___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_5___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_5___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name) < 0) __PYX_ERR(1, 1465, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name) < 0) __PYX_ERR(1, 1473, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name.tp_print = 0;
#endif
@@ -135882,7 +137426,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_6__get_self_name;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(1, 1467, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(1, 1475, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_7_genexpr.tp_print = 0;
#endif
@@ -135890,7 +137434,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_7_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_7_genexpr = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_7_genexpr;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_8___get__) < 0) __PYX_ERR(1, 1719, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_8___get__) < 0) __PYX_ERR(1, 1727, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_8___get__.tp_print = 0;
#endif
@@ -135898,7 +137442,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_8___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_8___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_8___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_9___get__) < 0) __PYX_ERR(1, 2150, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_9___get__) < 0) __PYX_ERR(1, 2229, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_9___get__.tp_print = 0;
#endif
@@ -135906,7 +137450,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_9___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_9___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_9___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_10___get__) < 0) __PYX_ERR(1, 2375, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_10___get__) < 0) __PYX_ERR(1, 2454, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_10___get__.tp_print = 0;
#endif
@@ -135914,7 +137458,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_10___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_10___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_10___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_11___get__) < 0) __PYX_ERR(1, 2555, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_11___get__) < 0) __PYX_ERR(1, 2634, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_11___get__.tp_print = 0;
#endif
@@ -135922,7 +137466,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_11___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_11___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_11___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_12___get__) < 0) __PYX_ERR(1, 2749, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_12___get__) < 0) __PYX_ERR(1, 2828, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_12___get__.tp_print = 0;
#endif
@@ -135930,7 +137474,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_12___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_12___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_12___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_13___get__) < 0) __PYX_ERR(1, 3274, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_13___get__) < 0) __PYX_ERR(1, 3353, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_13___get__.tp_print = 0;
#endif
@@ -135938,7 +137482,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_13___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_13___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_13___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_14___get__) < 0) __PYX_ERR(1, 3392, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_14___get__) < 0) __PYX_ERR(1, 3471, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_14___get__.tp_print = 0;
#endif
@@ -135946,7 +137490,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_14___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_14___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_14___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_15___get__) < 0) __PYX_ERR(1, 3588, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_15___get__) < 0) __PYX_ERR(1, 3667, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_15___get__.tp_print = 0;
#endif
@@ -135954,7 +137498,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_15___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_15___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_15___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_16___get__) < 0) __PYX_ERR(1, 3851, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_16___get__) < 0) __PYX_ERR(1, 3930, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_16___get__.tp_print = 0;
#endif
@@ -135962,7 +137506,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_16___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_16___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_16___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_17___str__) < 0) __PYX_ERR(1, 3961, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_17___str__) < 0) __PYX_ERR(1, 4040, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_17___str__.tp_print = 0;
#endif
@@ -135970,7 +137514,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_17___str__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_17___str__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_17___str__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(1, 3971, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(1, 4050, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_18_genexpr.tp_print = 0;
#endif
@@ -135978,7 +137522,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_18_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_18_genexpr = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_18_genexpr;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_19___get__) < 0) __PYX_ERR(1, 3998, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_19___get__) < 0) __PYX_ERR(1, 4077, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_19___get__.tp_print = 0;
#endif
@@ -135986,7 +137530,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_19___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_19___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_19___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_20___get__) < 0) __PYX_ERR(1, 4085, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_20___get__) < 0) __PYX_ERR(1, 4164, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_20___get__.tp_print = 0;
#endif
@@ -135994,7 +137538,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_20___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_20___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_20___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_21___get__) < 0) __PYX_ERR(1, 4152, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_21___get__) < 0) __PYX_ERR(1, 4231, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_21___get__.tp_print = 0;
#endif
@@ -136002,7 +137546,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_21___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_21___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_21___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__) < 0) __PYX_ERR(1, 4234, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__) < 0) __PYX_ERR(1, 4313, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__.tp_print = 0;
#endif
@@ -136010,7 +137554,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_22___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__) < 0) __PYX_ERR(1, 4362, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__) < 0) __PYX_ERR(1, 4441, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__.tp_print = 0;
#endif
@@ -136018,7 +137562,7 @@ static int __Pyx_modinit_type_init_code(void) {
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_23___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__;
- if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse) < 0) __PYX_ERR(1, 4722, __pyx_L1_error)
+ if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse) < 0) __PYX_ERR(1, 4801, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse.tp_print = 0;
#endif
@@ -136242,11 +137786,9 @@ if (!__Pyx_RefNanny) {
#endif
/*--- Library function declarations ---*/
/*--- Threads initialization code ---*/
- #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
- #ifdef WITH_THREAD /* Python build with threading support? */
+ #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
PyEval_InitThreads();
#endif
- #endif
/*--- Module creation code ---*/
#if CYTHON_PEP489_MULTI_PHASE_INIT
__pyx_m = __pyx_pyinit_module;
@@ -136563,7 +138105,7 @@ if (!__Pyx_RefNanny) {
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_version_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28, __pyx_L12_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_tuple__43, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28, __pyx_L12_except_error)
+ __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_tuple__49, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28, __pyx_L12_except_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 28, __pyx_L12_except_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -137131,78 +138673,145 @@ if (!__Pyx_RefNanny) {
/* "dependency_injector/providers.pyx":67
* obj.im_class)
*
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_sys); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_version_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_t_9, 0, 2, NULL, NULL, &__pyx_slice__50, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_tuple__35, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ if (__pyx_t_8) {
+
+ /* "dependency_injector/providers.pyx":68
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_warnings); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 68, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_warn); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 68, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+ /* "dependency_injector/providers.pyx":72
+ * "This does not mean that there will be any immediate breaking changes, "
+ * "but tests will no longer be executed on Python 3.5, and bugs will not be addressed.",
+ * category=DeprecationWarning, # <<<<<<<<<<<<<<
+ * )
+ *
+ */
+ __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 72, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(1, 72, __pyx_L1_error)
+
+ /* "dependency_injector/providers.pyx":68
+ *
+ * if sys.version_info[:2] == (3, 5):
+ * warnings.warn( # <<<<<<<<<<<<<<
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ * "This does not mean that there will be any immediate breaking changes, "
+ */
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__51, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 68, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+ /* "dependency_injector/providers.pyx":67
+ * obj.im_class)
+ *
+ * if sys.version_info[:2] == (3, 5): # <<<<<<<<<<<<<<
+ * warnings.warn(
+ * "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ */
+ }
+
+ /* "dependency_injector/providers.pyx":75
+ * )
+ *
* config_env_marker_pattern = re.compile( # <<<<<<<<<<<<<<
* r'\${(?P[^}^{:]+)(?P:?)(?P.*?)}',
* )
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_re); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 67, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_compile); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 67, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_re); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_compile); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 75, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 67, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 75, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_config_env_marker_pattern, __pyx_t_7) < 0) __PYX_ERR(1, 67, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_config_env_marker_pattern, __pyx_t_1) < 0) __PYX_ERR(1, 75, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":71
+ /* "dependency_injector/providers.pyx":79
* )
*
* def _resolve_config_env_markers(config_content, envs_required=False): # <<<<<<<<<<<<<<
* """Replace environment variable markers with their values."""
* findings = list(config_env_marker_pattern.finditer(config_content))
*/
- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_1_resolve_config_env_markers, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 71, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_resolve_config_env_markers, __pyx_t_7) < 0) __PYX_ERR(1, 71, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_1_resolve_config_env_markers, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 79, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_resolve_config_env_markers, __pyx_t_1) < 0) __PYX_ERR(1, 79, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "dependency_injector/providers.pyx":90
+ /* "dependency_injector/providers.pyx":98
*
*
* if sys.version_info[0] == 3: # <<<<<<<<<<<<<<
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_sys); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 90, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_version_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 90, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 98, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 90, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 98, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyInt_EqObjC(__pyx_t_7, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 90, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 90, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 98, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":91
+ /* "dependency_injector/providers.pyx":99
*
* if sys.version_info[0] == 3:
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
*/
- __pyx_t_9 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_3_parse_ini_file, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 91, __pyx_L1_error)
+ __pyx_t_9 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_3_parse_ini_file, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse_ini_file, __pyx_t_9) < 0) __PYX_ERR(1, 91, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse_ini_file, __pyx_t_9) < 0) __PYX_ERR(1, 99, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pyx":90
+ /* "dependency_injector/providers.pyx":98
*
*
* if sys.version_info[0] == 3: # <<<<<<<<<<<<<<
* def _parse_ini_file(filepath, envs_required=False):
* parser = iniconfigparser.ConfigParser()
*/
- goto __pyx_L44;
+ goto __pyx_L45;
}
- /* "dependency_injector/providers.pyx":101
+ /* "dependency_injector/providers.pyx":109
* return parser
* else:
* import StringIO # <<<<<<<<<<<<<<
@@ -137210,78 +138819,78 @@ if (!__Pyx_RefNanny) {
* def _parse_ini_file(filepath, envs_required=False):
*/
/*else*/ {
- __pyx_t_9 = __Pyx_Import(__pyx_n_s_StringIO, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 101, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_Import(__pyx_n_s_StringIO, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_StringIO, __pyx_t_9) < 0) __PYX_ERR(1, 101, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_StringIO, __pyx_t_9) < 0) __PYX_ERR(1, 109, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pyx":103
+ /* "dependency_injector/providers.pyx":111
* import StringIO
*
* def _parse_ini_file(filepath, envs_required=False): # <<<<<<<<<<<<<<
* parser = iniconfigparser.ConfigParser()
* with open(filepath) as config_file:
*/
- __pyx_t_9 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_5_parse_ini_file, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 103, __pyx_L1_error)
+ __pyx_t_9 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_5_parse_ini_file, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse_ini_file, __pyx_t_9) < 0) __PYX_ERR(1, 103, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse_ini_file, __pyx_t_9) < 0) __PYX_ERR(1, 111, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
- __pyx_L44:;
+ __pyx_L45:;
- /* "dependency_injector/providers.pyx":114
+ /* "dependency_injector/providers.pyx":122
*
*
* if yaml: # <<<<<<<<<<<<<<
* class YamlLoader(yaml.SafeLoader):
* """YAML loader.
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_yaml); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 114, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_yaml); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 114, __pyx_L1_error)
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(1, 122, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_8) {
- /* "dependency_injector/providers.pyx":115
+ /* "dependency_injector/providers.pyx":123
*
* if yaml:
* class YamlLoader(yaml.SafeLoader): # <<<<<<<<<<<<<<
* """YAML loader.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_yaml); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 115, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_yaml); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_SafeLoader); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 115, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 115, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_GIVEREF(__pyx_t_7);
- PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7);
- __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 115, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_9, __pyx_n_s_YamlLoader, __pyx_n_s_YamlLoader, (PyObject *) NULL, __pyx_n_s_dependency_injector_providers, __pyx_kp_s_YAML_loader_This_loader_mimics_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 115, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_SafeLoader); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_YamlLoader, __pyx_t_9, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 115, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 123, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_9);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 123, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_9, __pyx_n_s_YamlLoader, __pyx_n_s_YamlLoader, (PyObject *) NULL, __pyx_n_s_dependency_injector_providers, __pyx_kp_s_YAML_loader_This_loader_mimics_y); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 123, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_YamlLoader, __pyx_t_9, __pyx_t_7, NULL, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_YamlLoader, __pyx_t_6) < 0) __PYX_ERR(1, 115, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_YamlLoader, __pyx_t_6) < 0) __PYX_ERR(1, 123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pyx":114
+ /* "dependency_injector/providers.pyx":122
*
*
* if yaml: # <<<<<<<<<<<<<<
* class YamlLoader(yaml.SafeLoader):
* """YAML loader.
*/
- goto __pyx_L45;
+ goto __pyx_L46;
}
- /* "dependency_injector/providers.pyx":121
+ /* "dependency_injector/providers.pyx":129
* """
* else:
* class YamlLoader: # <<<<<<<<<<<<<<
@@ -137289,29 +138898,29 @@ if (!__Pyx_RefNanny) {
*
*/
/*else*/ {
- __pyx_t_9 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_YamlLoader, __pyx_n_s_YamlLoader, (PyObject *) NULL, __pyx_n_s_dependency_injector_providers, __pyx_kp_s_YAML_loader_This_loader_mimics_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 121, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_YamlLoader, __pyx_n_s_YamlLoader, (PyObject *) NULL, __pyx_n_s_dependency_injector_providers, __pyx_kp_s_YAML_loader_This_loader_mimics_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_7 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_YamlLoader, __pyx_empty_tuple, __pyx_t_9, NULL, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 121, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_YamlLoader, __pyx_t_7) < 0) __PYX_ERR(1, 121, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_1 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_YamlLoader, __pyx_empty_tuple, __pyx_t_9, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 129, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_YamlLoader, __pyx_t_1) < 0) __PYX_ERR(1, 129, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
- __pyx_L45:;
+ __pyx_L46:;
- /* "dependency_injector/providers.pyx":128
+ /* "dependency_injector/providers.pyx":136
*
*
* UNDEFINED = object() # <<<<<<<<<<<<<<
*
* cdef int ASYNC_MODE_UNDEFINED = 0
*/
- __pyx_t_9 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 128, __pyx_L1_error)
+ __pyx_t_9 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 136, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNDEFINED, __pyx_t_9) < 0) __PYX_ERR(1, 128, __pyx_L1_error)
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNDEFINED, __pyx_t_9) < 0) __PYX_ERR(1, 136, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "dependency_injector/providers.pyx":130
+ /* "dependency_injector/providers.pyx":138
* UNDEFINED = object()
*
* cdef int ASYNC_MODE_UNDEFINED = 0 # <<<<<<<<<<<<<<
@@ -137320,7 +138929,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_v_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED = 0;
- /* "dependency_injector/providers.pyx":131
+ /* "dependency_injector/providers.pyx":139
*
* cdef int ASYNC_MODE_UNDEFINED = 0
* cdef int ASYNC_MODE_ENABLED = 1 # <<<<<<<<<<<<<<
@@ -137329,7 +138938,7 @@ if (!__Pyx_RefNanny) {
*/
__pyx_v_19dependency_injector_9providers_ASYNC_MODE_ENABLED = 1;
- /* "dependency_injector/providers.pyx":132
+ /* "dependency_injector/providers.pyx":140
* cdef int ASYNC_MODE_UNDEFINED = 0
* cdef int ASYNC_MODE_ENABLED = 1
* cdef int ASYNC_MODE_DISABLED = 2 # <<<<<<<<<<<<<<
@@ -137338,541 +138947,579 @@ if (!__Pyx_RefNanny) {
*/
__pyx_v_19dependency_injector_9providers_ASYNC_MODE_DISABLED = 2;
- /* "dependency_injector/providers.pyx":183
+ /* "dependency_injector/providers.pyx":191
* """
*
* __IS_PROVIDER__ = True # <<<<<<<<<<<<<<
*
* overriding_lock = threading.RLock()
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_IS_PROVIDER, Py_True) < 0) __PYX_ERR(1, 183, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_IS_PROVIDER, Py_True) < 0) __PYX_ERR(1, 191, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Provider);
- /* "dependency_injector/providers.pyx":185
+ /* "dependency_injector/providers.pyx":193
* __IS_PROVIDER__ = True
*
* overriding_lock = threading.RLock() # <<<<<<<<<<<<<<
* """Overriding reentrant lock.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_threading); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 185, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_RLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 185, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_threading); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_7)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_7);
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_RLock); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 193, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_1 = NULL;
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_7, function);
}
}
- __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 185, __pyx_L1_error)
+ __pyx_t_9 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
+ __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 193, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_overriding_lock, __pyx_t_9) < 0) __PYX_ERR(1, 185, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_overriding_lock, __pyx_t_9) < 0) __PYX_ERR(1, 193, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Provider);
- /* "dependency_injector/providers.pyx":233
+ /* "dependency_injector/providers.pyx":241
*
* @classmethod
* def __class_getitem__(cls, item): # <<<<<<<<<<<<<<
* return cls
*
*/
- __Pyx_GetNameInClass(__pyx_t_9, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider, __pyx_n_s_class_getitem); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 233, __pyx_L1_error)
+ __Pyx_GetNameInClass(__pyx_t_9, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider, __pyx_n_s_class_getitem); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- /* "dependency_injector/providers.pyx":232
+ /* "dependency_injector/providers.pyx":240
* return copied
*
* @classmethod # <<<<<<<<<<<<<<
* def __class_getitem__(cls, item):
* return cls
*/
- __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 232, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 240, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_class_getitem, __pyx_t_1) < 0) __PYX_ERR(1, 233, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict, __pyx_n_s_class_getitem, __pyx_t_7) < 0) __PYX_ERR(1, 241, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Provider);
- /* "dependency_injector/providers.pyx":1221
+ /* "dependency_injector/providers.pyx":1229
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 1221, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 1229, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable);
- /* "dependency_injector/providers.pyx":1311
+ /* "dependency_injector/providers.pyx":1319
* """
*
* _is_coroutine = _is_coroutine_marker # <<<<<<<<<<<<<<
*
* def set_provides(self, provides):
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_coroutine_marker); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1311, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict, __pyx_n_s_is_coroutine, __pyx_t_1) < 0) __PYX_ERR(1, 1311, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_is_coroutine_marker); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1319, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict, __pyx_n_s_is_coroutine, __pyx_t_7) < 0) __PYX_ERR(1, 1319, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Coroutine);
- /* "dependency_injector/providers.pyx":1329
+ /* "dependency_injector/providers.pyx":1337
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 1329, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 1337, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine);
- /* "dependency_injector/providers.pyx":1530
+ /* "dependency_injector/providers.pyx":1538
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1530, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__12 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1538, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__12 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1538, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__13 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1568
+ /* "dependency_injector/providers.pyx":1576
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1568, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__13 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1576, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__14 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1576, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__15 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1619
+ /* "dependency_injector/providers.pyx":1627
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
* """Load configuration from pydantic settings.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1619, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__14 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1627, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__16 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1656
+ /* "dependency_injector/providers.pyx":1664
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the dictionary.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1656, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__15 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1664, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__17 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1684
+ /* "dependency_injector/providers.pyx":1692
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration value from the environment variable.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1684, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__17 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1684, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__18 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1692, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__19 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1692, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__20 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1756
+ /* "dependency_injector/providers.pyx":1764
* """
*
* DEFAULT_NAME = 'config' # <<<<<<<<<<<<<<
*
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False):
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None):
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict, __pyx_n_s_DEFAULT_NAME, __pyx_n_s_config) < 0) __PYX_ERR(1, 1756, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict, __pyx_n_s_DEFAULT_NAME, __pyx_n_s_config) < 0) __PYX_ERR(1, 1764, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Configuration);
- /* "dependency_injector/providers.pyx":1758
+ /* "dependency_injector/providers.pyx":1766
* DEFAULT_NAME = 'config'
*
- * def __init__(self, name=DEFAULT_NAME, default=None, strict=False): # <<<<<<<<<<<<<<
+ * def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None): # <<<<<<<<<<<<<<
* self.__name = name
* self.__strict = strict
*/
- __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration, __pyx_n_s_DEFAULT_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1758, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__19 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Configuration, __pyx_n_s_DEFAULT_NAME); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1766, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__21 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":1966
+ /* "dependency_injector/providers.pyx":1902
+ * return self
+ *
+ * def load(self, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
+ * """Load configuration.
+ *
+ */
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1902, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__22 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1902, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__23 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+
+ /* "dependency_injector/providers.pyx":2045
* self.override(value)
*
- * def from_ini(self, filepath, required=UNDEFINED, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the ini file.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1966, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__20 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2045, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__24 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2045, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__25 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2004
+ /* "dependency_injector/providers.pyx":2083
* self.override(merge_dicts(current_config, config))
*
- * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False): # <<<<<<<<<<<<<<
+ * def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the yaml file.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2004, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__21 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2083, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__26 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2083, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__27 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2055
+ /* "dependency_injector/providers.pyx":2134
* self.override(merge_dicts(current_config, config))
*
* def from_pydantic(self, settings, required=UNDEFINED, **kwargs): # <<<<<<<<<<<<<<
* """Load configuration from pydantic settings.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2055, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__22 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2134, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__28 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2092
+ /* "dependency_injector/providers.pyx":2171
* self.from_dict(settings.dict(**kwargs), required=required)
*
* def from_dict(self, options, required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration from the dictionary.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2092, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__23 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2171, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__29 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2115
+ /* "dependency_injector/providers.pyx":2194
* self.override(merge_dicts(current_config, options))
*
* def from_env(self, name, default=UNDEFINED, required=UNDEFINED): # <<<<<<<<<<<<<<
* """Load configuration value from the environment variable.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2115, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__24 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2115, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_k__25 = __pyx_t_1;
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2194, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__30 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UNDEFINED); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2194, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ __pyx_k__31 = __pyx_t_7;
+ __Pyx_GIVEREF(__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":2210
+ /* "dependency_injector/providers.pyx":2289
* """
*
* provided_type = None # <<<<<<<<<<<<<<
*
* def __init__(self, provides=None, *args, **kwargs):
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict, __pyx_n_s_provided_type, Py_None) < 0) __PYX_ERR(1, 2210, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict, __pyx_n_s_provided_type, Py_None) < 0) __PYX_ERR(1, 2289, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Factory);
- /* "dependency_injector/providers.pyx":2407
+ /* "dependency_injector/providers.pyx":2486
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2407, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2486, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory);
- /* "dependency_injector/providers.pyx":2487
+ /* "dependency_injector/providers.pyx":2566
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
* def __init__(self, factories_dict_=None, **factories_kwargs):
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2487, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2566, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate);
- /* "dependency_injector/providers.pyx":2582
+ /* "dependency_injector/providers.pyx":2661
* """Base class of singleton providers."""
*
* provided_type = None # <<<<<<<<<<<<<<
*
* def __init__(self, provides=None, *args, **kwargs):
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict, __pyx_n_s_provided_type, Py_None) < 0) __PYX_ERR(1, 2582, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict, __pyx_n_s_provided_type, Py_None) < 0) __PYX_ERR(1, 2661, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_BaseSingleton);
- /* "dependency_injector/providers.pyx":2855
+ /* "dependency_injector/providers.pyx":2934
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2855, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2934, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton);
- /* "dependency_injector/providers.pyx":2861
+ /* "dependency_injector/providers.pyx":2940
* """Thread-safe singleton provider."""
*
* storage_lock = threading.RLock() # <<<<<<<<<<<<<<
* """Storage reentrant lock.
*
*/
- __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_threading); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2861, __pyx_L1_error)
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_threading); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 2940, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_RLock); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2861, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_RLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2940, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = NULL;
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
- __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7);
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_9)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_7, function);
+ __Pyx_DECREF_SET(__pyx_t_1, function);
}
}
- __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
+ __pyx_t_7 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2861, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict, __pyx_n_s_storage_lock, __pyx_t_1) < 0) __PYX_ERR(1, 2861, __pyx_L1_error)
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 2940, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict, __pyx_n_s_storage_lock, __pyx_t_7) < 0) __PYX_ERR(1, 2940, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton);
- /* "dependency_injector/providers.pyx":2925
+ /* "dependency_injector/providers.pyx":3004
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 2925, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton);
- /* "dependency_injector/providers.pyx":3022
+ /* "dependency_injector/providers.pyx":3101
* :type: type
* """
* _none = object() # <<<<<<<<<<<<<<
*
* def __init__(self, provides=None, *args, **kwargs):
*/
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3022, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict, __pyx_n_s_none, __pyx_t_1) < 0) __PYX_ERR(1, 3022, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3101, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict, __pyx_n_s_none, __pyx_t_7) < 0) __PYX_ERR(1, 3101, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton);
- /* "dependency_injector/providers.pyx":3106
+ /* "dependency_injector/providers.pyx":3185
* """
*
* __IS_DELEGATED__ = True # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 3106, __pyx_L1_error)
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict, __pyx_n_s_IS_DELEGATED, Py_True) < 0) __PYX_ERR(1, 3185, __pyx_L1_error)
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton);
- /* "dependency_injector/providers.pyx":3735
+ /* "dependency_injector/providers.pyx":3814
*
* @staticmethod
* def _is_resource_subclass(instance): # <<<<<<<<<<<<<<
* if sys.version_info < (3, 5):
* return False
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_8Resource_41_is_resource_subclass, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3735, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_resource_subclass, __pyx_t_1) < 0) __PYX_ERR(1, 3735, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_8Resource_41_is_resource_subclass, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3814, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_resource_subclass, __pyx_t_7) < 0) __PYX_ERR(1, 3814, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Resource);
- /* "dependency_injector/providers.pyx":3734
+ /* "dependency_injector/providers.pyx":3813
* future_result.set_result(None)
*
* @staticmethod # <<<<<<<<<<<<<<
* def _is_resource_subclass(instance):
* if sys.version_info < (3, 5):
*/
- __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource, __pyx_n_s_is_resource_subclass); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3735, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3734, __pyx_L1_error)
+ __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource, __pyx_n_s_is_resource_subclass); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3814, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_resource_subclass, __pyx_t_7) < 0) __PYX_ERR(1, 3735, __pyx_L1_error)
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3813, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_resource_subclass, __pyx_t_1) < 0) __PYX_ERR(1, 3814, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Resource);
- /* "dependency_injector/providers.pyx":3744
+ /* "dependency_injector/providers.pyx":3823
*
* @staticmethod
* def _is_async_resource_subclass(instance): # <<<<<<<<<<<<<<
* if sys.version_info < (3, 5):
* return False
*/
- __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_8Resource_43_is_async_resource_subclass, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3744, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_async_resource_subclass, __pyx_t_7) < 0) __PYX_ERR(1, 3744, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_8Resource_43_is_async_resource_subclass, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3823, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_1);
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_async_resource_subclass, __pyx_t_1) < 0) __PYX_ERR(1, 3823, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Resource);
- /* "dependency_injector/providers.pyx":3743
+ /* "dependency_injector/providers.pyx":3822
* return issubclass(instance, resources.Resource)
*
* @staticmethod # <<<<<<<<<<<<<<
* def _is_async_resource_subclass(instance):
* if sys.version_info < (3, 5):
*/
- __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource, __pyx_n_s_is_async_resource_subclass); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3744, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_7);
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3743, __pyx_L1_error)
+ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource, __pyx_n_s_is_async_resource_subclass); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_async_resource_subclass, __pyx_t_1) < 0) __PYX_ERR(1, 3744, __pyx_L1_error)
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 3822, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ if (PyDict_SetItem((PyObject *)__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict, __pyx_n_s_is_async_resource_subclass, __pyx_t_7) < 0) __PYX_ERR(1, 3823, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Resource);
- /* "dependency_injector/providers.pyx":4593
+ /* "dependency_injector/providers.pyx":4672
*
*
* CHILD_PROVIDERS = (Dependency, DependenciesContainer, Container) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4593, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4672, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
- PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
+ PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency));
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
- PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
+ PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_DependenciesContainer));
__Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
- PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHILD_PROVIDERS, __pyx_t_1) < 0) __PYX_ERR(1, 4593, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container));
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHILD_PROVIDERS, __pyx_t_7) < 0) __PYX_ERR(1, 4672, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4690
+ /* "dependency_injector/providers.pyx":4769
*
*
* def __add_sys_streams(memo): # <<<<<<<<<<<<<<
* """Add system streams to memo dictionary.
*
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_25__add_sys_streams, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4690, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_sys_streams, __pyx_t_1) < 0) __PYX_ERR(1, 4690, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_25__add_sys_streams, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4769, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_sys_streams, __pyx_t_7) < 0) __PYX_ERR(1, 4769, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4701
+ /* "dependency_injector/providers.pyx":4780
*
*
* def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<<
* """Merge dictionaries recursively.
*
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_27merge_dicts, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4701, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge_dicts, __pyx_t_1) < 0) __PYX_ERR(1, 4701, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_27merge_dicts, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4780, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge_dicts, __pyx_t_7) < 0) __PYX_ERR(1, 4780, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4722
+ /* "dependency_injector/providers.pyx":4801
*
*
* def traverse(*providers, types=None): # <<<<<<<<<<<<<<
* """Return providers traversal generator."""
* visited = set()
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_29traverse, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4722, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_traverse, __pyx_t_1) < 0) __PYX_ERR(1, 4722, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_29traverse, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4801, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_traverse, __pyx_t_7) < 0) __PYX_ERR(1, 4801, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4745
+ /* "dependency_injector/providers.pyx":4824
*
*
* def isawaitable(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_32isawaitable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4745, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_isawaitable, __pyx_t_1) < 0) __PYX_ERR(1, 4745, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_32isawaitable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4824, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_isawaitable, __pyx_t_7) < 0) __PYX_ERR(1, 4824, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4756
+ /* "dependency_injector/providers.pyx":4832
*
*
* def iscoroutinefunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is a coroutine function.
- *
+ * """Check if object is a coroutine function."""
+ * try:
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_34iscoroutinefunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4756, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_iscoroutinefunction, __pyx_t_1) < 0) __PYX_ERR(1, 4756, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_34iscoroutinefunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4832, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_iscoroutinefunction, __pyx_t_7) < 0) __PYX_ERR(1, 4832, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "dependency_injector/providers.pyx":4767
+ /* "dependency_injector/providers.pyx":4840
*
*
* def isasyncgenfunction(obj): # <<<<<<<<<<<<<<
- * """Check if object is an asynchronous generator function.
- *
+ * """Check if object is an asynchronous generator function."""
+ * try:
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_36isasyncgenfunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4767, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_isasyncgenfunction, __pyx_t_1) < 0) __PYX_ERR(1, 4767, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_36isasyncgenfunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4840, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_isasyncgenfunction, __pyx_t_7) < 0) __PYX_ERR(1, 4840, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Provider(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_47__pyx_unpickle_Provider, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Provider, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_47__pyx_unpickle_Provider, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Provider, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Provider__set_state( __pyx_result, __pyx_state)
@@ -137881,20 +139528,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]
* if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_49__pyx_unpickle_Object, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Object, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_49__pyx_unpickle_Object, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Object, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Self(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_51__pyx_unpickle_Self, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Self, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_51__pyx_unpickle_Self, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Self, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Self__set_state( __pyx_result, __pyx_state)
@@ -137903,20 +139550,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__alt_names = __pyx_state[0]; __pyx_result.__async_mode = __pyx_state[1]; __pyx_result.__container = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_53__pyx_unpickle_Delegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Delegate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_53__pyx_unpickle_Delegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Delegate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Dependency(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_55__pyx_unpickle_Dependency, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Dependency, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_55__pyx_unpickle_Dependency, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Dependency, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Dependency__set_state( __pyx_result, __pyx_state)
@@ -137925,20 +139572,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__default = __pyx_state[1]; __pyx_result.__instance_of = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__parent = __pyx_state[6]
* if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_57__pyx_unpickle_ExternalDependency, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ExternalDependenc, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_57__pyx_unpickle_ExternalDependency, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ExternalDependenc, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_DependenciesContainer(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_59__pyx_unpickle_DependenciesContainer, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DependenciesConta, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_59__pyx_unpickle_DependenciesContainer, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DependenciesConta, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_DependenciesContainer__set_state( __pyx_result, __pyx_state)
@@ -137947,20 +139594,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]; __pyx_result.__parent = __pyx_state[4]; __pyx_result.__providers = __pyx_state[5]; __pyx_result.__provides = __pyx_state[6]
* if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_61__pyx_unpickle_Callable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Callable, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_61__pyx_unpickle_Callable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Callable, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_DelegatedCallable(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_63__pyx_unpickle_DelegatedCallable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedCallable, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_63__pyx_unpickle_DelegatedCallable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedCallable, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_DelegatedCallable__set_state( __pyx_result, __pyx_state)
@@ -137969,20 +139616,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__overrides = __pyx_state[7]; __pyx_result.__provides = __pyx_state[8]
* if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_65__pyx_unpickle_AbstractCallable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractCallable, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_65__pyx_unpickle_AbstractCallable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractCallable, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_CallableDelegate(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_67__pyx_unpickle_CallableDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_CallableDelegate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_67__pyx_unpickle_CallableDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_CallableDelegate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_CallableDelegate__set_state( __pyx_result, __pyx_state)
@@ -137991,20 +139638,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]; __pyx_result.__provides = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_69__pyx_unpickle_Coroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Coroutine, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_69__pyx_unpickle_Coroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Coroutine, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_DelegatedCoroutine(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_71__pyx_unpickle_DelegatedCoroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedCoroutin, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_71__pyx_unpickle_DelegatedCoroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedCoroutin, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_DelegatedCoroutine__set_state( __pyx_result, __pyx_state)
@@ -138013,20 +139660,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__overrides = __pyx_state[7]; __pyx_result.__provides = __pyx_state[8]
* if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_73__pyx_unpickle_AbstractCoroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractCoroutine, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_73__pyx_unpickle_AbstractCoroutine, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractCoroutine, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_CoroutineDelegate(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_75__pyx_unpickle_CoroutineDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_CoroutineDelegate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_75__pyx_unpickle_CoroutineDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_CoroutineDelegate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_CoroutineDelegate__set_state( __pyx_result, __pyx_state)
@@ -138035,20 +139682,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]; __pyx_result.__provides = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_77__pyx_unpickle_ConfigurationOption, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ConfigurationOpti, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_77__pyx_unpickle_ConfigurationOption, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ConfigurationOpti, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_TypedConfigurationOption(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_79__pyx_unpickle_TypedConfigurationOption, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TypedConfiguratio, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_79__pyx_unpickle_TypedConfigurationOption, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TypedConfiguratio, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_TypedConfigurationOption__set_state( __pyx_result, __pyx_state)
@@ -138057,20 +139704,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__overrides = __pyx_state[7]; __pyx_result.__provides = __pyx_state[8]
* if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_81__pyx_unpickle_Configuration, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Configuration, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_81__pyx_unpickle_Configuration, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Configuration, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Factory(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_83__pyx_unpickle_Factory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Factory, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_83__pyx_unpickle_Factory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Factory, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Factory__set_state( __pyx_result, __pyx_state)
@@ -138079,20 +139726,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__attributes = __pyx_state[1]; __pyx_result.__attributes_len = __pyx_state[2]; __pyx_result.__instantiator = __pyx_state[3]; __pyx_result.__last_overriding = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]
* if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_85__pyx_unpickle_DelegatedFactory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedFactory, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_85__pyx_unpickle_DelegatedFactory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedFactory, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_AbstractFactory(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_87__pyx_unpickle_AbstractFactory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractFactory, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_87__pyx_unpickle_AbstractFactory, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractFactory, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_AbstractFactory__set_state( __pyx_result, __pyx_state)
@@ -138101,20 +139748,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__attributes = __pyx_state[1]; __pyx_result.__attributes_len = __pyx_state[2]; __pyx_result.__instantiator = __pyx_state[3]; __pyx_result.__last_overriding = __pyx_state[4]; __pyx_result.__overridden = __pyx_state[5]; __pyx_result.__overrides = __pyx_state[6]
* if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_89__pyx_unpickle_FactoryDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FactoryDelegate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_89__pyx_unpickle_FactoryDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FactoryDelegate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_FactoryAggregate(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_91__pyx_unpickle_FactoryAggregate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FactoryAggregate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_91__pyx_unpickle_FactoryAggregate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FactoryAggregate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_FactoryAggregate__set_state( __pyx_result, __pyx_state)
@@ -138123,20 +139770,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__factories = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_93__pyx_unpickle_BaseSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_BaseSingleton, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_93__pyx_unpickle_BaseSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_BaseSingleton, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Singleton(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_95__pyx_unpickle_Singleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Singleton, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_95__pyx_unpickle_Singleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Singleton, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Singleton__set_state( __pyx_result, __pyx_state)
@@ -138145,20 +139792,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__instantiator = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]; __pyx_result.__storage = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_97__pyx_unpickle_DelegatedSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedSingleto, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_97__pyx_unpickle_DelegatedSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedSingleto, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_ThreadSafeSingleton(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_99__pyx_unpickle_ThreadSafeSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadSafeSinglet, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_99__pyx_unpickle_ThreadSafeSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadSafeSinglet, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_ThreadSafeSingleton__set_state( __pyx_result, __pyx_state)
@@ -138167,20 +139814,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__instantiator = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]; __pyx_result.__storage = __pyx_state[5]; __pyx_result.__storage_lock = __pyx_state[6]
* if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_101__pyx_unpickle_DelegatedThreadSafeSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedThreadSa, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_101__pyx_unpickle_DelegatedThreadSafeSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedThreadSa, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_ThreadLocalSingleton(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_103__pyx_unpickle_ThreadLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadLocalSingle, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_103__pyx_unpickle_ThreadLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadLocalSingle, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_ThreadLocalSingleton__set_state( __pyx_result, __pyx_state)
@@ -138189,20 +139836,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__instantiator = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]; __pyx_result.__storage = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_105__pyx_unpickle_ContextLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ContextLocalSingl, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_105__pyx_unpickle_ContextLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ContextLocalSingl, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_DelegatedThreadLocalSingleton(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_107__pyx_unpickle_DelegatedThreadLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedThreadLo, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_107__pyx_unpickle_DelegatedThreadLocalSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DelegatedThreadLo, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_DelegatedThreadLocalSingleton__set_state( __pyx_result, __pyx_state)
@@ -138211,20 +139858,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__instantiator = __pyx_state[1]; __pyx_result.__last_overriding = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]; __pyx_result.__storage = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_109__pyx_unpickle_AbstractSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractSingleton, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_109__pyx_unpickle_AbstractSingleton, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AbstractSingleton, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_SingletonDelegate(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_111__pyx_unpickle_SingletonDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonDelegate, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_111__pyx_unpickle_SingletonDelegate, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonDelegate, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_SingletonDelegate__set_state( __pyx_result, __pyx_state)
@@ -138233,20 +139880,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]; __pyx_result.__provides = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_113__pyx_unpickle_List, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_List, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_113__pyx_unpickle_List, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_List, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Dict(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_115__pyx_unpickle_Dict, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Dict, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_115__pyx_unpickle_Dict, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Dict, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Dict__set_state( __pyx_result, __pyx_state)
@@ -138255,20 +139902,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__kwargs = __pyx_state[1]; __pyx_result.__kwargs_len = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_117__pyx_unpickle_Resource, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Resource, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_117__pyx_unpickle_Resource, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Resource, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Container(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_119__pyx_unpickle_Container, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Container, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_119__pyx_unpickle_Container, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Container, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Container__set_state( __pyx_result, __pyx_state)
@@ -138277,20 +139924,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__container = __pyx_state[1]; __pyx_result.__container_cls = __pyx_state[2]; __pyx_result.__last_overriding = __pyx_state[3]; __pyx_result.__overridden = __pyx_state[4]; __pyx_result.__overrides = __pyx_state[5]; __pyx_result.__overriding_providers = __pyx_state[6]; __pyx_result.__parent = __pyx_state[7]
* if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_121__pyx_unpickle_Selector, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Selector, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_121__pyx_unpickle_Selector, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Selector, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_ProvidedInstance(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_123__pyx_unpickle_ProvidedInstance, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ProvidedInstance, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_123__pyx_unpickle_ProvidedInstance, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ProvidedInstance, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_ProvidedInstance__set_state( __pyx_result, __pyx_state)
@@ -138299,20 +139946,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__overridden = __pyx_state[2]; __pyx_result.__overrides = __pyx_state[3]; __pyx_result.__provides = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_125__pyx_unpickle_AttributeGetter, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AttributeGetter, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_125__pyx_unpickle_AttributeGetter, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_AttributeGetter, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_ItemGetter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_127__pyx_unpickle_ItemGetter, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ItemGetter, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_127__pyx_unpickle_ItemGetter, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ItemGetter, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_ItemGetter__set_state( __pyx_result, __pyx_state)
@@ -138321,20 +139968,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__async_mode = __pyx_state[0]; __pyx_result.__last_overriding = __pyx_state[1]; __pyx_result.__name = __pyx_state[2]; __pyx_result.__overridden = __pyx_state[3]; __pyx_result.__overrides = __pyx_state[4]; __pyx_result.__provides = __pyx_state[5]
* if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_129__pyx_unpickle_MethodCaller, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_MethodCaller, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_129__pyx_unpickle_MethodCaller, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_MethodCaller, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_Injection(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_131__pyx_unpickle_Injection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Injection, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_131__pyx_unpickle_Injection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Injection, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_Injection__set_state( __pyx_result, __pyx_state)
@@ -138343,20 +139990,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__call = __pyx_state[0]; __pyx_result.__is_delegated = __pyx_state[1]; __pyx_result.__is_provider = __pyx_state[2]; __pyx_result.__value = __pyx_state[3]
* if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_133__pyx_unpickle_PositionalInjection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PositionalInjecti, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_133__pyx_unpickle_PositionalInjection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PositionalInjecti, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_NamedInjection(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_135__pyx_unpickle_NamedInjection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_NamedInjection, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_135__pyx_unpickle_NamedInjection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_NamedInjection, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_NamedInjection__set_state( __pyx_result, __pyx_state)
@@ -138365,20 +140012,20 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__call = __pyx_state[0]; __pyx_result.__is_delegated = __pyx_state[1]; __pyx_result.__is_provider = __pyx_state[2]; __pyx_result.__name = __pyx_state[3]; __pyx_result.__value = __pyx_state[4]
* if len(__pyx_state) > 5 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_137__pyx_unpickle_OverridingContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_OverridingContext, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_137__pyx_unpickle_OverridingContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_OverridingContext, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_BaseSingletonResetContext(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_139__pyx_unpickle_BaseSingletonResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_BaseSingletonRese, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_139__pyx_unpickle_BaseSingletonResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_BaseSingletonRese, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":11
* __pyx_unpickle_BaseSingletonResetContext__set_state( __pyx_result, __pyx_state)
@@ -138387,30 +140034,30 @@ if (!__Pyx_RefNanny) {
* __pyx_result.__singleton = __pyx_state[0]
* if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_141__pyx_unpickle_SingletonResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonResetCon, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_141__pyx_unpickle_SingletonResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonResetCon, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "(tree fragment)":1
* def __pyx_unpickle_SingletonFullResetContext(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
* cdef object __pyx_PickleError
* cdef object __pyx_result
*/
- __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_143__pyx_unpickle_SingletonFullResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonFullRese, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_143__pyx_unpickle_SingletonFullResetContext, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SingletonFullRese, __pyx_t_7) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "dependency_injector/providers.pyx":1
* """Providers module.""" # <<<<<<<<<<<<<<
*
* from __future__ import absolute_import
*/
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_GOTREF(__pyx_t_7);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "cfunc.to_py":64
*
@@ -138842,7 +140489,7 @@ static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, P
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
PyObject *result;
- ternaryfunc call = func->ob_type->tp_call;
+ ternaryfunc call = Py_TYPE(func)->tp_call;
if (unlikely(!call))
return PyObject_Call(func, arg, kw);
if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
@@ -139750,7 +141397,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
result = PyFrozenSet_New(it);
if (unlikely(!result))
return NULL;
- if (likely(PySet_GET_SIZE(result)))
+ if ((PY_VERSION_HEX >= 0x031000A1) || likely(PySet_GET_SIZE(result)))
return result;
Py_DECREF(result);
#endif
@@ -140549,6 +142196,7 @@ static int __Pyx_Coroutine_clear(PyObject *self) {
}
#endif
Py_CLEAR(gen->gi_code);
+ Py_CLEAR(gen->gi_frame);
Py_CLEAR(gen->gi_name);
Py_CLEAR(gen->gi_qualname);
Py_CLEAR(gen->gi_modulename);
@@ -140565,7 +142213,7 @@ static void __Pyx_Coroutine_dealloc(PyObject *self) {
if (PyObject_CallFinalizerFromDealloc(self))
#else
Py_TYPE(gen)->tp_del(self);
- if (self->ob_refcnt > 0)
+ if (Py_REFCNT(self) > 0)
#endif
{
return;
@@ -140659,17 +142307,17 @@ static void __Pyx_Coroutine_del(PyObject *self) {
}
__Pyx_ErrRestore(error_type, error_value, error_traceback);
#if !CYTHON_USE_TP_FINALIZE
- assert(self->ob_refcnt > 0);
+ assert(Py_REFCNT(self) > 0);
if (--self->ob_refcnt == 0) {
return;
}
{
- Py_ssize_t refcnt = self->ob_refcnt;
+ Py_ssize_t refcnt = Py_REFCNT(self);
_Py_NewReference(self);
__Pyx_SET_REFCNT(self, refcnt);
}
#if CYTHON_COMPILING_IN_CPYTHON
- assert(PyType_IS_GC(self->ob_type) &&
+ assert(PyType_IS_GC(Py_TYPE(self)) &&
_Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
_Py_DEC_REFTOTAL;
#endif
@@ -140735,6 +142383,27 @@ __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHO
Py_XDECREF(tmp);
return 0;
}
+static PyObject *
+__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
+{
+ PyObject *frame = self->gi_frame;
+ if (!frame) {
+ if (unlikely(!self->gi_code)) {
+ Py_RETURN_NONE;
+ }
+ frame = (PyObject *) PyFrame_New(
+ PyThreadState_Get(), /*PyThreadState *tstate,*/
+ (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/
+ __pyx_d, /*PyObject *globals,*/
+ 0 /*PyObject *locals*/
+ );
+ if (unlikely(!frame))
+ return NULL;
+ self->gi_frame = frame;
+ }
+ Py_INCREF(frame);
+ return frame;
+}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
PyObject *name, PyObject *qualname, PyObject *module_name) {
@@ -140768,6 +142437,7 @@ static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
gen->gi_modulename = module_name;
Py_XINCREF(code);
gen->gi_code = code;
+ gen->gi_frame = NULL;
PyObject_GC_Track(gen);
return gen;
}
@@ -140931,6 +142601,8 @@ static PyGetSetDef __pyx_Generator_getsets[] = {
(char*) PyDoc_STR("name of the generator"), 0},
{(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
(char*) PyDoc_STR("qualified name of the generator"), 0},
+ {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
+ (char*) PyDoc_STR("Frame of the generator"), 0},
{0, 0, 0, 0, 0}
};
static PyTypeObject __pyx_GeneratorType_type = {
@@ -142221,7 +143893,8 @@ static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromString(m->func.m_ml->ml_name);
+ Py_INCREF(m->func_qualname);
+ return m->func_qualname;
#else
return PyString_FromString(m->func.m_ml->ml_name);
#endif
diff --git a/src/dependency_injector/providers.pxd b/src/dependency_injector/providers.pxd
index eeae838b..d5567ebc 100644
--- a/src/dependency_injector/providers.pxd
+++ b/src/dependency_injector/providers.pxd
@@ -114,6 +114,9 @@ cdef class Configuration(Object):
cdef str __name
cdef bint __strict
cdef dict __children
+ cdef list __yaml_files
+ cdef list __ini_files
+ cdef list __pydantic_settings
cdef object __weakref__
diff --git a/src/dependency_injector/providers.pyi b/src/dependency_injector/providers.pyi
index cfa73d30..191f028c 100644
--- a/src/dependency_injector/providers.pyi
+++ b/src/dependency_injector/providers.pyi
@@ -216,7 +216,16 @@ class TypedConfigurationOption(Callable[T]):
class Configuration(Object[Any]):
DEFAULT_NAME: str = 'config'
- def __init__(self, name: str = DEFAULT_NAME, default: Optional[Any] = None, *, strict: bool = False) -> None: ...
+ def __init__(
+ self,
+ name: str = DEFAULT_NAME,
+ default: Optional[Any] = None,
+ *,
+ strict: bool = False,
+ yaml_files: Optional[_Iterable[Union[Path, str]]] = None,
+ ini_files: Optional[_Iterable[Union[Path, str]]] = None,
+ pydantic_settings: Optional[_Iterable[PydanticSettings]] = None,
+ ) -> None: ...
def __enter__(self) -> Configuration : ...
def __exit__(self, *exc_info: Any) -> None: ...
def __getattr__(self, item: str) -> ConfigurationOption: ...
@@ -234,6 +243,17 @@ class Configuration(Object[Any]):
def get_children(self) -> _Dict[str, ConfigurationOption]: ...
def set_children(self, children: _Dict[str, ConfigurationOption]) -> Configuration: ...
+ def get_yaml_files(self) -> _List[Union[Path, str]]: ...
+ def set_yaml_files(self, files: _Iterable[Union[Path, str]]) -> Configuration: ...
+
+ def get_ini_files(self) -> _List[Union[Path, str]]: ...
+ def set_ini_files(self, files: _Iterable[Union[Path, str]]) -> Configuration: ...
+
+ def get_pydantic_settings(self) -> _List[PydanticSettings]: ...
+ def set_pydantic_settings(self, settings: _Iterable[PydanticSettings]) -> Configuration: ...
+
+ def load(self, required: bool = False, envs_required: bool = False) -> None: ...
+
def get(self, selector: str) -> Any: ...
def set(self, selector: str, value: Any) -> OverridingContext[P]: ...
def reset_cache(self) -> None: ...
diff --git a/src/dependency_injector/providers.pyx b/src/dependency_injector/providers.pyx
index 66812223..e76f8936 100644
--- a/src/dependency_injector/providers.pyx
+++ b/src/dependency_injector/providers.pyx
@@ -64,6 +64,14 @@ else: # pragma: no cover
copy.deepcopy(obj.im_self, memo),
obj.im_class)
+if sys.version_info[:2] == (3, 5):
+ warnings.warn(
+ "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ "This does not mean that there will be any immediate breaking changes, "
+ "but tests will no longer be executed on Python 3.5, and bugs will not be addressed.",
+ category=DeprecationWarning,
+ )
+
config_env_marker_pattern = re.compile(
r'\${(?P[^}^{:]+)(?P:?)(?P.*?)}',
)
@@ -771,7 +779,7 @@ cdef class Dependency(Provider):
@property
def is_defined(self):
"""Return True if dependency is defined."""
- return self.__last_overriding or self.__default
+ return self.__last_overriding is not None or self.__default is not None
def provided_by(self, provider):
"""Set external dependency provider.
@@ -1527,7 +1535,7 @@ cdef class ConfigurationOption(Provider):
"""
self.override(value)
- def from_ini(self, filepath, required=UNDEFINED, envs_required=False):
+ def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED):
"""Load configuration from the ini file.
Loaded configuration is merged recursively over existing configuration.
@@ -1546,7 +1554,7 @@ cdef class ConfigurationOption(Provider):
try:
parser = _parse_ini_file(
filepath,
- envs_required=envs_required or self._is_strict_mode_enabled(),
+ envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
)
except IOError as exception:
if required is not False \
@@ -1565,7 +1573,7 @@ cdef class ConfigurationOption(Provider):
current_config = {}
self.override(merge_dicts(current_config, config))
- def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False):
+ def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED):
"""Load configuration from the yaml file.
Loaded configuration is merged recursively over existing configuration.
@@ -1607,7 +1615,7 @@ cdef class ConfigurationOption(Provider):
config_content = _resolve_config_env_markers(
config_content,
- envs_required=envs_required or self._is_strict_mode_enabled(),
+ envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
)
config = yaml.load(config_content, loader)
@@ -1755,14 +1763,29 @@ cdef class Configuration(Object):
DEFAULT_NAME = 'config'
- def __init__(self, name=DEFAULT_NAME, default=None, strict=False):
+ def __init__(self, name=DEFAULT_NAME, default=None, strict=False, yaml_files=None, ini_files=None, pydantic_settings=None):
self.__name = name
self.__strict = strict
self.__children = {}
+ self.__yaml_files = []
+ self.__ini_files = []
+ self.__pydantic_settings = []
super().__init__(provides={})
self.set_default(default)
+ if yaml_files is None:
+ yaml_files = []
+ self.set_yaml_files(yaml_files)
+
+ if ini_files is None:
+ ini_files = []
+ self.set_ini_files(ini_files)
+
+ if pydantic_settings is None:
+ pydantic_settings = []
+ self.set_pydantic_settings(pydantic_settings)
+
def __deepcopy__(self, memo):
copied = memo.get(id(self))
if copied is not None:
@@ -1773,6 +1796,9 @@ cdef class Configuration(Object):
copied.set_default(self.get_default())
copied.set_strict(self.get_strict())
copied.set_children(deepcopy(self.get_children(), memo))
+ copied.set_yaml_files(self.get_yaml_files())
+ copied.set_ini_files(self.get_ini_files())
+ copied.set_pydantic_settings(self.get_pydantic_settings())
self._copy_overridings(copied, memo)
return copied
@@ -1846,6 +1872,59 @@ cdef class Configuration(Object):
self.__children = children
return self
+ def get_yaml_files(self):
+ """Return list of YAML files."""
+ return list(self.__yaml_files)
+
+ def set_yaml_files(self, files):
+ """Set list of YAML files."""
+ self.__yaml_files = list(files)
+ return self
+
+ def get_ini_files(self):
+ """Return list of INI files."""
+ return list(self.__ini_files)
+
+ def set_ini_files(self, files):
+ """Set list of INI files."""
+ self.__ini_files = list(files)
+ return self
+
+ def get_pydantic_settings(self):
+ """Return list of Pydantic settings."""
+ return list(self.__pydantic_settings)
+
+ def set_pydantic_settings(self, settings):
+ """Set list of Pydantic settings."""
+ self.__pydantic_settings = list(settings)
+ return self
+
+ def load(self, required=UNDEFINED, envs_required=UNDEFINED):
+ """Load configuration.
+
+ This method loads configuration from configuration files or pydantic settings that
+ were set earlier with set_*() methods or provided to the __init__(), e.g.:
+
+ .. code-block:: python
+
+ config = providers.Configuration(yaml_files=[file1, file2])
+ config.load()
+
+ :param required: When required is True, raise an exception if file does not exist.
+ :type required: bool
+
+ :param envs_required: When True, raises an error on undefined environment variable.
+ :type envs_required: bool
+ """
+ for file in self.get_yaml_files():
+ self.from_yaml(file, required=required, envs_required=envs_required)
+
+ for file in self.get_ini_files():
+ self.from_ini(file, required=required, envs_required=envs_required)
+
+ for settings in self.get_pydantic_settings():
+ self.from_pydantic(settings, required=required)
+
def get(self, selector, required=False):
"""Return configuration option.
@@ -1963,7 +2042,7 @@ cdef class Configuration(Object):
"""
self.override(value)
- def from_ini(self, filepath, required=UNDEFINED, envs_required=False):
+ def from_ini(self, filepath, required=UNDEFINED, envs_required=UNDEFINED):
"""Load configuration from the ini file.
Loaded configuration is merged recursively over existing configuration.
@@ -1982,7 +2061,7 @@ cdef class Configuration(Object):
try:
parser = _parse_ini_file(
filepath,
- envs_required=envs_required or self._is_strict_mode_enabled(),
+ envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
)
except IOError as exception:
if required is not False \
@@ -2001,7 +2080,7 @@ cdef class Configuration(Object):
current_config = {}
self.override(merge_dicts(current_config, config))
- def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=False):
+ def from_yaml(self, filepath, required=UNDEFINED, loader=None, envs_required=UNDEFINED):
"""Load configuration from the yaml file.
Loaded configuration is merged recursively over existing configuration.
@@ -2043,7 +2122,7 @@ cdef class Configuration(Object):
config_content = _resolve_config_env_markers(
config_content,
- envs_required=envs_required or self._is_strict_mode_enabled(),
+ envs_required=envs_required if envs_required is not UNDEFINED else self._is_strict_mode_enabled(),
)
config = yaml.load(config_content, loader)
@@ -4051,7 +4130,7 @@ cdef class ProvidedInstance(Provider):
super().__init__()
def __repr__(self):
- return f'{self.__class__.__name__}(\'{self.__provides}\')'
+ return f'{self.__class__.__name__}("{self.__provides}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))
@@ -4107,7 +4186,7 @@ cdef class AttributeGetter(Provider):
super().__init__()
def __repr__(self):
- return f'{self.__class__.__name__}(\'{self.name}\')'
+ return f'{self.__class__.__name__}("{self.name}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))
@@ -4189,7 +4268,7 @@ cdef class ItemGetter(Provider):
super().__init__()
def __repr__(self):
- return f'{self.__class__.__name__}(\'{self.name}\')'
+ return f'{self.__class__.__name__}("{self.name}")'
def __deepcopy__(self, memo):
copied = memo.get(id(self))
@@ -4743,10 +4822,7 @@ def traverse(*providers, types=None):
def isawaitable(obj):
- """Check if object is a coroutine function.
-
- Return False for any object in Python 3.4 or below.
- """
+ """Check if object is a coroutine function."""
try:
return inspect.isawaitable(obj)
except AttributeError:
@@ -4754,10 +4830,7 @@ def isawaitable(obj):
def iscoroutinefunction(obj):
- """Check if object is a coroutine function.
-
- Return False for any object in Python 3.4 or below.
- """
+ """Check if object is a coroutine function."""
try:
return inspect.iscoroutinefunction(obj)
except AttributeError:
@@ -4765,10 +4838,7 @@ def iscoroutinefunction(obj):
def isasyncgenfunction(obj):
- """Check if object is an asynchronous generator function.
-
- Return False for any object in Python 3.4 or below.
- """
+ """Check if object is an asynchronous generator function."""
try:
return inspect.isasyncgenfunction(obj)
except AttributeError:
diff --git a/src/dependency_injector/wiring.py b/src/dependency_injector/wiring.py
index a98c28c3..6cb016f8 100644
--- a/src/dependency_injector/wiring.py
+++ b/src/dependency_injector/wiring.py
@@ -6,6 +6,7 @@ import inspect
import importlib
import importlib.machinery
import pkgutil
+import warnings
import sys
from types import ModuleType
from typing import (
@@ -58,6 +59,14 @@ except ImportError:
from . import providers
+if sys.version_info[:2] == (3, 5):
+ warnings.warn(
+ "Dependency Injector will drop support of Python 3.5 after Jan 1st of 2022. "
+ "This does not mean that there will be any immediate breaking changes, "
+ "but tests will no longer be executed on Python 3.5, and bugs will not be addressed.",
+ category=DeprecationWarning,
+ )
+
__all__ = (
'wire',
'unwire',
@@ -325,8 +334,7 @@ def wire( # noqa: C901
packages: Optional[Iterable[ModuleType]] = None,
) -> None:
"""Wire container providers with provided packages and modules."""
- if not modules:
- modules = []
+ modules = [*modules] if modules else []
if packages:
for package in packages:
@@ -367,8 +375,7 @@ def unwire( # noqa: C901
packages: Optional[Iterable[ModuleType]] = None,
) -> None:
"""Wire provided packages and modules with previous wired providers."""
- if not modules:
- modules = []
+ modules = [*modules] if modules else []
if packages:
for package in packages:
diff --git a/tests/.configs/pytest-py27.ini b/tests/.configs/pytest-py27.ini
new file mode 100644
index 00000000..300291b1
--- /dev/null
+++ b/tests/.configs/pytest-py27.ini
@@ -0,0 +1,7 @@
+[pytest]
+testpaths = tests/unit/
+python_files = test_*_py2_py3.py
+filterwarnings =
+ ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.*
diff --git a/tests/.configs/pytest-py35.ini b/tests/.configs/pytest-py35.ini
new file mode 100644
index 00000000..4cb03f29
--- /dev/null
+++ b/tests/.configs/pytest-py35.ini
@@ -0,0 +1,7 @@
+[pytest]
+testpaths = tests/unit/
+python_files = test_*_py3.py
+filterwarnings =
+ ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.*
diff --git a/tests/.configs/pytest.ini b/tests/.configs/pytest.ini
new file mode 100644
index 00000000..ebdb3d40
--- /dev/null
+++ b/tests/.configs/pytest.ini
@@ -0,0 +1,7 @@
+[pytest]
+testpaths = tests/unit/
+python_files = test_*_py3*.py
+filterwarnings =
+ ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning
+ ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.*
diff --git a/tests/performance/test.py b/tests/performance/test.py
index fda5d76b..54ddf516 100644
--- a/tests/performance/test.py
+++ b/tests/performance/test.py
@@ -14,15 +14,15 @@ class Tester(object):
self.provider_modules = provider_modules
self.tests = [getattr(self, name)
for name in dir(self)
- if name.startswith('test')]
+ if name.startswith("test")]
self.total_time = 0
self.duration_factor = duration_factor
def run(self):
"""Run all tests for all provider modules."""
for module in self.provider_modules:
- print('\n')
- print('Running tests for module - "{module}":'
+ print("\n")
+ print("Running tests for module - \"{module}\":"
.format(module=module.__name__))
gc.disable()
@@ -30,13 +30,13 @@ class Tester(object):
start_time = time.time()
test(module)
self.total_time = time.time() - start_time
- print('Test "{test}" took - {time}'
+ print("Test \"{test}\" took - {time}"
.format(test=test.__name__,
time=self.total_time))
gc.collect()
gc.enable()
- print('\n')
+ print("\n")
def test_raw_3_kw_injections(self, providers):
"""Test 3 keyword argument injections."""
@@ -53,7 +53,7 @@ class Tester(object):
def __init__(self, a, b, c):
pass
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
Test(a=A(), b=B(), c=C())
def test_factory_3_factory_kw_injections(self, providers):
@@ -78,7 +78,7 @@ class Tester(object):
a=a_factory,
b=b_factory,
c=c_factory)
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_abstract_factory_3_factory_kw_injections(self, providers):
@@ -104,7 +104,7 @@ class Tester(object):
a=a_factory,
b=b_factory,
c=c_factory))
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_factory_6_factory_kw_injections_0_context(self, providers):
@@ -114,7 +114,7 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, a=1, b=2, c=3, d=4, e=5, f=6)
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
test_factory()
def test_factory_6_factory_kw_injections_1_context(self, providers):
@@ -124,7 +124,7 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, f=6)
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
test_factory(a=1, b=2, c=3, d=4, e=5)
def test_factory_6_factory_kw_injections_3_context(self, providers):
@@ -134,11 +134,11 @@ class Tester(object):
pass
test_factory = providers.Factory(Test, a=1, b=2, c=3)
- for x in xrange(int(5000000 * self.duration_factor)):
+ for x in range(int(5000000 * self.duration_factor)):
test_factory(d=4, e=5, f=6)
-if __name__ == '__main__':
+if __name__ == "__main__":
tester = Tester(
provider_modules=[
dependency_injector.providers,
diff --git a/tests/typing/callable.py b/tests/typing/callable.py
index 46966f9f..09cdf9bc 100644
--- a/tests/typing/callable.py
+++ b/tests/typing/callable.py
@@ -16,7 +16,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Callable(Cat)
-animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
+animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Callable(Cat.create)
@@ -36,17 +36,17 @@ kwargs4: Dict[str, Any] = provider4.kwargs
provider5 = providers.Callable(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
-item_getter5: providers.ItemGetter = provider5.provided['item']
+item_getter5: providers.ItemGetter = provider5.provided["item"]
method_caller: providers.MethodCaller = provider5.provided.method.call(123, arg=324)
# Test 6: to check the DelegatedCallable
provider6 = providers.DelegatedCallable(Cat)
-animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0)
+animal6: Animal = provider6(1, 2, 3, b="1", c=2, e=0.0)
# Test 7: to check the AbstractCallable
provider7 = providers.AbstractCallable(Animal)
provider7.override(providers.Callable(Cat))
-animal7: Animal = provider7(1, 2, 3, b='1', c=2, e=0.0)
+animal7: Animal = provider7(1, 2, 3, b="1", c=2, e=0.0)
# Test 8: to check the CallableDelegate __init__
provider8 = providers.CallableDelegate(providers.Callable(lambda: None))
@@ -54,8 +54,8 @@ provider8 = providers.CallableDelegate(providers.Callable(lambda: None))
# Test 9: to check the return type with await
provider9 = providers.Callable(Cat)
async def _async9() -> None:
- animal1: Animal = await provider9(1, 2, 3, b='1', c=2, e=0.0) # type: ignore
- animal2: Animal = await provider9.async_(1, 2, 3, b='1', c=2, e=0.0)
+ animal1: Animal = await provider9(1, 2, 3, b="1", c=2, e=0.0) # type: ignore
+ animal2: Animal = await provider9.async_(1, 2, 3, b="1", c=2, e=0.0)
# Test 10: to check the .provides
provider10 = providers.Callable(Cat)
diff --git a/tests/typing/configuration.py b/tests/typing/configuration.py
index 3af454c4..b6005004 100644
--- a/tests/typing/configuration.py
+++ b/tests/typing/configuration.py
@@ -9,12 +9,12 @@ provider1 = providers.Factory(dict, a=config1.a)
# Test 2: to check the from_*() method
config2 = providers.Configuration()
config2.from_dict({})
-config2.from_ini('config.ini')
-config2.from_ini(Path('config.ini'))
+config2.from_ini("config.ini")
+config2.from_ini(Path("config.ini"))
-config2.from_yaml('config.yml')
-config2.from_yaml(Path('config.yml'))
-config2.from_env('ENV', 'default')
+config2.from_yaml("config.yml")
+config2.from_yaml(Path("config.yml"))
+config2.from_env("ENV", "default")
# Test 3: to check as_*() methods
config3 = providers.Configuration()
diff --git a/tests/typing/declarative_container.py b/tests/typing/declarative_container.py
index 51356514..92d06c92 100644
--- a/tests/typing/declarative_container.py
+++ b/tests/typing/declarative_container.py
@@ -58,9 +58,11 @@ class Container6(containers.DeclarativeContainer):
container6: containers.Container = Container6()
-# Test 7: to override()
+# Test 7: to override_providers()
class Container7(containers.DeclarativeContainer):
provider = providers.Factory(str)
container7 = Container7()
-container7.override_providers(provider='new_value')
+container7.override_providers(provider="new_value")
+with container7.override_providers(a=providers.Provider()):
+ ...
diff --git a/tests/typing/dynamic_container.py b/tests/typing/dynamic_container.py
index 5a4da880..69bc764d 100644
--- a/tests/typing/dynamic_container.py
+++ b/tests/typing/dynamic_container.py
@@ -14,6 +14,8 @@ container2.override(containers.DynamicContainer())
# Test 3: to check override_providers()
container3 = containers.DynamicContainer()
container3.override_providers(a=providers.Provider())
+with container3.override_providers(a=providers.Provider()):
+ ...
# Test 4: to check set_providers()
container4 = containers.DynamicContainer()
diff --git a/tests/typing/factory.py b/tests/typing/factory.py
index b43081ba..61999e2f 100644
--- a/tests/typing/factory.py
+++ b/tests/typing/factory.py
@@ -18,7 +18,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Factory(Cat)
-animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
+animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Factory(Cat.create)
@@ -39,17 +39,17 @@ attributes4: Dict[str, Any] = provider4.attributes
provider5 = providers.Factory(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
-item_getter5: providers.ItemGetter = provider5.provided['item']
+item_getter5: providers.ItemGetter = provider5.provided["item"]
method_caller5: providers.MethodCaller = provider5.provided.method.call(123, arg=324)
# Test 6: to check the DelegatedFactory
provider6 = providers.DelegatedFactory(Cat)
-animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0)
+animal6: Animal = provider6(1, 2, 3, b="1", c=2, e=0.0)
# Test 7: to check the AbstractFactory
provider7 = providers.AbstractFactory(Animal)
provider7.override(providers.Factory(Cat))
-animal7: Animal = provider7(1, 2, 3, b='1', c=2, e=0.0)
+animal7: Animal = provider7(1, 2, 3, b="1", c=2, e=0.0)
# Test 8: to check the FactoryDelegate __init__
provider8 = providers.FactoryDelegate(providers.Factory(object))
@@ -61,7 +61,7 @@ provider9: providers.FactoryAggregate[str] = providers.FactoryAggregate(
)
factory_a_9: providers.Factory[str] = provider9.a
factory_b_9: providers.Factory[str] = provider9.b
-val9: str = provider9('a')
+val9: str = provider9("a")
provider9_set_non_string_keys: providers.FactoryAggregate[str] = providers.FactoryAggregate()
provider9_set_non_string_keys.set_factories({Cat: providers.Factory(str, "str")})
@@ -83,8 +83,8 @@ animal10: Animal = factory10()
# Test 11: to check the return type with await
provider11 = providers.Factory(Cat)
async def _async11() -> None:
- animal1: Animal = await provider11(1, 2, 3, b='1', c=2, e=0.0) # type: ignore
- animal2: Animal = await provider11.async_(1, 2, 3, b='1', c=2, e=0.0)
+ animal1: Animal = await provider11(1, 2, 3, b="1", c=2, e=0.0) # type: ignore
+ animal2: Animal = await provider11.async_(1, 2, 3, b="1", c=2, e=0.0)
# Test 12: to check class type from .provides
provider12 = providers.Factory(Cat)
diff --git a/tests/typing/list.py b/tests/typing/list.py
index 1831eff8..3ceae7cc 100644
--- a/tests/typing/list.py
+++ b/tests/typing/list.py
@@ -25,7 +25,7 @@ provider3 = providers.List(
)
provided3: providers.ProvidedInstance = provider3.provided
attr_getter3: providers.AttributeGetter = provider3.provided.attr
-item_getter3: providers.ItemGetter = provider3.provided['item']
+item_getter3: providers.ItemGetter = provider3.provided["item"]
method_caller3: providers.MethodCaller = provider3.provided.method.call(123, arg=324)
# Test 4: to check the return type with await
diff --git a/tests/typing/object.py b/tests/typing/object.py
index f97ef57b..b099c83b 100644
--- a/tests/typing/object.py
+++ b/tests/typing/object.py
@@ -11,7 +11,7 @@ var1: int = provider1()
provider2 = providers.Object(int)
provided2: providers.ProvidedInstance = provider2.provided
attr_getter2: providers.AttributeGetter = provider2.provided.attr
-item_getter2: providers.ItemGetter = provider2.provided['item']
+item_getter2: providers.ItemGetter = provider2.provided["item"]
method_caller2: providers.MethodCaller = provider2.provided.method.call(123, arg=324)
# Test 3: to check the return type with await
@@ -21,5 +21,5 @@ async def _async3() -> None:
var2: int = await provider3.async_()
# Test 4: to check class type from provider
-provider4 = providers.Object(int('1'))
+provider4 = providers.Object(int("1"))
provided_provides: Optional[int] = provider4.provides
diff --git a/tests/typing/selector.py b/tests/typing/selector.py
index 6aa4ca8f..e6d092c5 100644
--- a/tests/typing/selector.py
+++ b/tests/typing/selector.py
@@ -5,7 +5,7 @@ from dependency_injector import providers
# Test 1: to check the return type
provider1 = providers.Selector(
- lambda: 'a',
+ lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
@@ -13,18 +13,18 @@ var1: Any = provider1()
# Test 2: to check the provided instance interface
provider2 = providers.Selector(
- lambda: 'a',
+ lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
provided2: providers.ProvidedInstance = provider2.provided
attr_getter2: providers.AttributeGetter = provider2.provided.attr
-item_getter2: providers.ItemGetter = provider2.provided['item']
+item_getter2: providers.ItemGetter = provider2.provided["item"]
method_caller2: providers.MethodCaller = provider2.provided.method.call(123, arg=324)
# Test3 to check the getattr
provider3 = providers.Selector(
- lambda: 'a',
+ lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
@@ -32,7 +32,7 @@ attr3: providers.Provider = provider3.a
# Test 4: to check the return type with await
provider4 = providers.Selector(
- lambda: 'a',
+ lambda: "a",
a=providers.Factory(object),
b=providers.Factory(object),
)
diff --git a/tests/typing/singleton.py b/tests/typing/singleton.py
index 11276c6e..b19a43fe 100644
--- a/tests/typing/singleton.py
+++ b/tests/typing/singleton.py
@@ -18,7 +18,7 @@ class Cat(Animal):
# Test 1: to check the return type (class)
provider1 = providers.Singleton(Cat)
-animal1: Animal = provider1(1, 2, 3, b='1', c=2, e=0.0)
+animal1: Animal = provider1(1, 2, 3, b="1", c=2, e=0.0)
# Test 2: to check the return type (class factory method)
provider2 = providers.Singleton(Cat.create)
@@ -39,12 +39,12 @@ attributes4: Dict[str, Any] = provider4.attributes
provider5 = providers.Singleton(Animal)
provided5: providers.ProvidedInstance = provider5.provided
attr_getter5: providers.AttributeGetter = provider5.provided.attr
-item_getter5: providers.ItemGetter = provider5.provided['item']
+item_getter5: providers.ItemGetter = provider5.provided["item"]
method_caller5: providers.MethodCaller = provider5.provided.method.call(123, arg=324)
# Test 6: to check the DelegatedSingleton
provider6 = providers.DelegatedSingleton(Cat)
-animal6: Animal = provider6(1, 2, 3, b='1', c=2, e=0.0)
+animal6: Animal = provider6(1, 2, 3, b="1", c=2, e=0.0)
# Test 7: to check the ThreadSafeSingleton
provider7: providers.BaseSingleton[Animal] = providers.ThreadSafeSingleton(Cat)
@@ -52,20 +52,20 @@ animal7: Animal = provider7()
# Test 8: to check the DelegatedThreadSafeSingleton
provider8 = providers.DelegatedThreadSafeSingleton(Cat)
-animal8: Animal = provider8(1, 2, 3, b='1', c=2, e=0.0)
+animal8: Animal = provider8(1, 2, 3, b="1", c=2, e=0.0)
# Test 9: to check the ThreadLocalSingleton
provider9 = providers.ThreadLocalSingleton(Cat)
-animal9: Animal = provider9(1, 2, 3, b='1', c=2, e=0.0)
+animal9: Animal = provider9(1, 2, 3, b="1", c=2, e=0.0)
# Test 10: to check the DelegatedThreadLocalSingleton
provider10 = providers.DelegatedThreadLocalSingleton(Cat)
-animal10: Animal = provider10(1, 2, 3, b='1', c=2, e=0.0)
+animal10: Animal = provider10(1, 2, 3, b="1", c=2, e=0.0)
# Test 11: to check the AbstractSingleton
provider11 = providers.AbstractSingleton(Animal)
provider11.override(providers.Singleton(Cat))
-animal11: Animal = provider11(1, 2, 3, b='1', c=2, e=0.0)
+animal11: Animal = provider11(1, 2, 3, b="1", c=2, e=0.0)
# Test 12: to check the SingletonDelegate __init__
provider12 = providers.SingletonDelegate(providers.Singleton(object))
@@ -73,8 +73,8 @@ provider12 = providers.SingletonDelegate(providers.Singleton(object))
# Test 13: to check the return type with await
provider13 = providers.Singleton(Cat)
async def _async13() -> None:
- animal1: Animal = await provider13(1, 2, 3, b='1', c=2, e=0.0) # type: ignore
- animal2: Animal = await provider13.async_(1, 2, 3, b='1', c=2, e=0.0)
+ animal1: Animal = await provider13(1, 2, 3, b="1", c=2, e=0.0) # type: ignore
+ animal2: Animal = await provider13.async_(1, 2, 3, b="1", c=2, e=0.0)
# Test 14: to check class from .provides
provider14 = providers.Singleton(Cat)
diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py
index b2572276..46816ddf 100644
--- a/tests/unit/__init__.py
+++ b/tests/unit/__init__.py
@@ -1 +1 @@
-"""Dependency injector unit tests."""
+"""Tests package."""
diff --git a/tests/unit/asyncutils.py b/tests/unit/asyncutils.py
deleted file mode 100644
index ca1b96d2..00000000
--- a/tests/unit/asyncutils.py
+++ /dev/null
@@ -1,57 +0,0 @@
-"""Test utils."""
-
-import asyncio
-import contextlib
-import sys
-import gc
-import unittest
-
-
-def run(main):
- loop = asyncio.get_event_loop()
- return loop.run_until_complete(main)
-
-
-def setup_test_loop(
- loop_factory=asyncio.new_event_loop
-) -> asyncio.AbstractEventLoop:
- loop = loop_factory()
- try:
- module = loop.__class__.__module__
- skip_watcher = 'uvloop' in module
- except AttributeError: # pragma: no cover
- # Just in case
- skip_watcher = True
- asyncio.set_event_loop(loop)
- if sys.platform != 'win32' and not skip_watcher:
- policy = asyncio.get_event_loop_policy()
- watcher = asyncio.SafeChildWatcher() # type: ignore
- watcher.attach_loop(loop)
- with contextlib.suppress(NotImplementedError):
- policy.set_child_watcher(watcher)
- return loop
-
-
-def teardown_test_loop(loop: asyncio.AbstractEventLoop, fast: bool = False) -> None:
- closed = loop.is_closed()
- if not closed:
- loop.call_soon(loop.stop)
- loop.run_forever()
- loop.close()
-
- if not fast:
- gc.collect()
-
- asyncio.set_event_loop(None)
-
-
-class AsyncTestCase(unittest.TestCase):
-
- def setUp(self):
- self.loop = setup_test_loop()
-
- def tearDown(self):
- teardown_test_loop(self.loop)
-
- def _run(self, f):
- return self.loop.run_until_complete(f)
diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py
new file mode 100644
index 00000000..f40a23e8
--- /dev/null
+++ b/tests/unit/conftest.py
@@ -0,0 +1,8 @@
+"""Fixtures module."""
+
+import sys
+import os.path
+
+
+# Add current package to import samples/ dir
+sys.path.append(os.path.dirname(__file__))
diff --git a/tests/unit/containers/__init__.py b/tests/unit/containers/__init__.py
index 69cef935..bfcb6292 100644
--- a/tests/unit/containers/__init__.py
+++ b/tests/unit/containers/__init__.py
@@ -1 +1 @@
-"""Dependency injector container unit tests."""
+"""Container tests."""
diff --git a/tests/unit/containers/cls/__init__.py b/tests/unit/containers/cls/__init__.py
new file mode 100644
index 00000000..ff13b5c1
--- /dev/null
+++ b/tests/unit/containers/cls/__init__.py
@@ -0,0 +1 @@
+"""Container class tests."""
diff --git a/tests/unit/containers/cls/test_custom_strings_py2_py3.py b/tests/unit/containers/cls/test_custom_strings_py2_py3.py
new file mode 100644
index 00000000..940a41f3
--- /dev/null
+++ b/tests/unit/containers/cls/test_custom_strings_py2_py3.py
@@ -0,0 +1,36 @@
+"""Tests for container cls with custom string classes as attribute names.
+
+See: https://github.com/ets-labs/python-dependency-injector/issues/479
+"""
+
+from dependency_injector import containers, providers
+from pytest import fixture, raises
+
+
+class CustomString(str):
+ pass
+
+
+class CustomClass:
+ thing = None
+
+
+class Container(containers.DeclarativeContainer):
+ pass
+
+
+@fixture
+def provider():
+ return providers.Provider()
+
+
+def test_setattr(provider):
+ setattr(Container, CustomString("test_attr"), provider)
+ assert Container.test_attr is provider
+
+
+def test_delattr():
+ setattr(Container, CustomString("test_attr"), provider)
+ delattr(Container, CustomString("test_attr"))
+ with raises(AttributeError):
+ Container.test_attr
diff --git a/tests/unit/containers/cls/test_main_py2_py3.py b/tests/unit/containers/cls/test_main_py2_py3.py
new file mode 100644
index 00000000..1d13d5b3
--- /dev/null
+++ b/tests/unit/containers/cls/test_main_py2_py3.py
@@ -0,0 +1,498 @@
+"""Main container class tests."""
+
+import collections
+
+from dependency_injector import containers, providers, errors
+from pytest import raises
+
+
+class ContainerA(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+
+class ContainerB(ContainerA):
+ p21 = providers.Provider()
+ p22 = providers.Provider()
+
+
+class ContainerC(ContainerB):
+ p31 = providers.Provider()
+ p32 = providers.Provider()
+
+
+def test_providers_attribute():
+ assert ContainerA.providers == dict(p11=ContainerA.p11, p12=ContainerA.p12)
+ assert ContainerB.providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ )
+ assert ContainerC.providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ p31=ContainerC.p31,
+ p32=ContainerC.p32,
+ )
+
+
+def test_providers_attribute_with_redefinition():
+ p1 = providers.Provider()
+ p2 = providers.Provider()
+
+ class ContainerA2(ContainerA):
+ p11 = p1
+ p12 = p2
+
+ assert ContainerA.providers == {
+ "p11": ContainerA.p11,
+ "p12": ContainerA.p12,
+ }
+ assert ContainerA2.providers == {
+ "p11": p1,
+ "p12": p2,
+ }
+
+
+def test_cls_providers_attribute():
+ assert ContainerA.cls_providers == dict(p11=ContainerA.p11, p12=ContainerA.p12)
+ assert ContainerB.cls_providers == dict(p21=ContainerB.p21, p22=ContainerB.p22)
+ assert ContainerC.cls_providers == dict(p31=ContainerC.p31, p32=ContainerC.p32)
+
+
+def test_inherited_providers_attribute():
+ assert ContainerA.inherited_providers == dict()
+ assert ContainerB.inherited_providers == dict(p11=ContainerA.p11, p12=ContainerA.p12)
+ assert ContainerC.inherited_providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ )
+
+
+def test_dependencies_attribute():
+ class ContainerD(ContainerC):
+ p41 = providers.Dependency()
+ p42 = providers.DependenciesContainer()
+
+ class ContainerE(ContainerD):
+ p51 = providers.Dependency()
+ p52 = providers.DependenciesContainer()
+
+ assert ContainerD.dependencies == {
+ "p41": ContainerD.p41,
+ "p42": ContainerD.p42,
+ }
+ assert ContainerE.dependencies == {
+ "p41": ContainerD.p41,
+ "p42": ContainerD.p42,
+ "p51": ContainerE.p51,
+ "p52": ContainerE.p52,
+ }
+
+
+def test_set_get_del_providers():
+ a_p13 = providers.Provider()
+ b_p23 = providers.Provider()
+
+ ContainerA.p13 = a_p13
+ ContainerB.p23 = b_p23
+
+ assert ContainerA.providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p13=a_p13,
+ )
+ assert ContainerB.providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ p23=b_p23,
+ )
+
+ assert ContainerA.cls_providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p13=a_p13,
+ )
+ assert ContainerB.cls_providers == dict(
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ p23=b_p23,
+ )
+
+ del ContainerA.p13
+ del ContainerB.p23
+
+ assert ContainerA.providers == dict(p11=ContainerA.p11, p12=ContainerA.p12)
+ assert ContainerB.providers == dict(
+ p11=ContainerA.p11,
+ p12=ContainerA.p12,
+ p21=ContainerB.p21,
+ p22=ContainerB.p22,
+ )
+
+ assert ContainerA.cls_providers == dict(p11=ContainerA.p11, p12=ContainerA.p12)
+ assert ContainerB.cls_providers == dict(p21=ContainerB.p21, p22=ContainerB.p22)
+
+
+def test_declare_with_valid_provider_type():
+ class _Container(containers.DeclarativeContainer):
+ provider_type = providers.Object
+ px = providers.Object(object())
+
+ assert isinstance(_Container.px, providers.Object)
+
+
+def test_declare_with_invalid_provider_type():
+ with raises(errors.Error):
+ class _Container(containers.DeclarativeContainer):
+ provider_type = providers.Object
+ px = providers.Provider()
+
+
+def test_seth_valid_provider_type():
+ class _Container(containers.DeclarativeContainer):
+ provider_type = providers.Object
+
+ _Container.px = providers.Object(object())
+
+ assert isinstance(_Container.px, providers.Object)
+
+def test_set_invalid_provider_type():
+ class _Container(containers.DeclarativeContainer):
+ provider_type = providers.Object
+
+ with raises(errors.Error):
+ _Container.px = providers.Provider()
+
+
+def test_override():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ _Container.override(_OverridingContainer1)
+ _Container.override(_OverridingContainer2)
+
+ assert _Container.overridden == (_OverridingContainer1, _OverridingContainer2)
+ assert _Container.p11.overridden == (_OverridingContainer1.p11, _OverridingContainer2.p11)
+
+
+def test_override_with_it():
+ with raises(errors.Error):
+ ContainerA.override(ContainerA)
+
+
+def test_override_with_parent():
+ with raises(errors.Error):
+ ContainerB.override(ContainerA)
+
+
+def test_override_decorator():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ @containers.override(_Container)
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ @containers.override(_Container)
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ assert _Container.overridden == (_OverridingContainer1, _OverridingContainer2)
+ assert _Container.p11.overridden == (_OverridingContainer1.p11, _OverridingContainer2.p11)
+
+
+def test_reset_last_overriding():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ _Container.override(_OverridingContainer1)
+ _Container.override(_OverridingContainer2)
+ _Container.reset_last_overriding()
+
+ assert _Container.overridden == (_OverridingContainer1,)
+ assert _Container.p11.overridden == (_OverridingContainer1.p11,)
+
+
+def test_reset_last_overriding_when_not_overridden():
+ with raises(errors.Error):
+ ContainerA.reset_last_overriding()
+
+
+def test_reset_override():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ _Container.override(_OverridingContainer1)
+ _Container.override(_OverridingContainer2)
+ _Container.reset_override()
+
+ assert _Container.overridden == tuple()
+ assert _Container.p11.overridden == tuple()
+
+
+def test_copy():
+ @containers.copy(ContainerA)
+ class _Container1(ContainerA):
+ pass
+
+ @containers.copy(ContainerA)
+ class _Container2(ContainerA):
+ pass
+
+ assert ContainerA.p11 is not _Container1.p11
+ assert ContainerA.p12 is not _Container1.p12
+
+ assert ContainerA.p11 is not _Container2.p11
+ assert ContainerA.p12 is not _Container2.p12
+
+ assert _Container1.p11 is not _Container2.p11
+ assert _Container1.p12 is not _Container2.p12
+
+
+def test_copy_with_replacing():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Object(0)
+ p12 = providers.Factory(dict, p11=p11)
+
+ @containers.copy(_Container)
+ class _Container1(_Container):
+ p11 = providers.Object(1)
+ p13 = providers.Object(11)
+
+ @containers.copy(_Container)
+ class _Container2(_Container):
+ p11 = providers.Object(2)
+ p13 = providers.Object(22)
+
+ assert _Container.p11 is not _Container1.p11
+ assert _Container.p12 is not _Container1.p12
+
+ assert _Container.p11 is not _Container2.p11
+ assert _Container.p12 is not _Container2.p12
+
+ assert _Container1.p11 is not _Container2.p11
+ assert _Container1.p12 is not _Container2.p12
+
+ assert _Container.p12() == {"p11": 0}
+ assert _Container1.p12() == {"p11": 1}
+ assert _Container2.p12() == {"p11": 2}
+
+ assert _Container1.p13() == 11
+ assert _Container2.p13() == 22
+
+
+def test_copy_with_parent_dependency():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/477
+ class Base(containers.DeclarativeContainer):
+ p11 = providers.Object(0)
+ p12 = providers.Factory(dict, p11=p11)
+
+ @containers.copy(Base)
+ class New(Base):
+ p13 = providers.Factory(dict, p12=Base.p12)
+
+ new1 = New()
+ new2 = New(p11=1)
+ new3 = New(p11=2)
+
+ assert new1.p13() == {"p12": {"p11": 0}}
+ assert new2.p13() == {"p12": {"p11": 1}}
+ assert new3.p13() == {"p12": {"p11": 2}}
+
+
+def test_copy_with_replacing_subcontainer_providers():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/374
+ class X(containers.DeclarativeContainer):
+ foo = providers.Dependency(instance_of=str)
+
+ def build_x():
+ return X(foo="1")
+
+ class A(containers.DeclarativeContainer):
+ x = providers.DependenciesContainer(**X.providers)
+ y = x.foo
+
+ @containers.copy(A)
+ class B1(A):
+ x = providers.Container(build_x)
+
+ b1 = B1()
+
+ assert b1.y() == "1"
+
+
+def test_containers_attribute():
+ class Container(containers.DeclarativeContainer):
+ class Container1(containers.DeclarativeContainer):
+ pass
+
+ class Container2(containers.DeclarativeContainer):
+ pass
+
+ Container3 = containers.DynamicContainer()
+
+ assert Container.containers == dict(
+ Container1=Container.Container1,
+ Container2=Container.Container2,
+ Container3=Container.Container3,
+ )
+
+
+def test_init_with_overriding_providers():
+ p1 = providers.Provider()
+ p2 = providers.Provider()
+
+ container = ContainerA(p11=p1, p12=p2)
+
+ assert container.p11.last_overriding is p1
+ assert container.p12.last_overriding is p2
+
+
+def test_init_with_overridden_dependency():
+ # Bug: https://github.com/ets-labs/python-dependency-injector/issues/198
+ class _Container(containers.DeclarativeContainer):
+ p1 = providers.Dependency(instance_of=int)
+
+ p2 = providers.Dependency(object)
+ p2.override(providers.Factory(dict, p1=p1))
+
+ container = _Container(p1=1)
+
+ assert container.p2() == {"p1": 1}
+ assert container.p2.last_overriding.kwargs["p1"] is container.p1
+ assert container.p2.last_overriding.kwargs["p1"] is not _Container.p1
+ assert _Container.p2.last_overriding.kwargs["p1"] is _Container.p1
+
+
+def test_init_with_chained_dependency():
+ # Bug: https://github.com/ets-labs/python-dependency-injector/issues/200
+ class _Container(containers.DeclarativeContainer):
+ p1 = providers.Dependency(instance_of=int)
+ p2 = providers.Factory(p1)
+
+ container = _Container(p1=1)
+
+ assert container.p2() == 1
+ assert container.p2.cls is container.p1
+ assert _Container.p2.cls is _Container.p1
+ assert container.p2.cls is not _Container.p1
+
+
+def test_init_with_dependency_delegation():
+ # Bug: https://github.com/ets-labs/python-dependency-injector/issues/235
+ A = collections.namedtuple("A", [])
+ B = collections.namedtuple("B", ["fa"])
+ C = collections.namedtuple("B", ["a"])
+
+ class Services(containers.DeclarativeContainer):
+ a = providers.Dependency()
+ c = providers.Factory(C, a=a)
+ b = providers.Factory(B, fa=a.provider)
+
+ a = providers.Factory(A)
+ assert isinstance(Services(a=a).c().a, A) # OK
+ Services(a=a).b().fa()
+
+
+def test_init_with_grand_child_provider():
+ # Bug: https://github.com/ets-labs/python-dependency-injector/issues/350
+ provider = providers.Provider()
+ container = ContainerC(p11=provider)
+
+ assert isinstance(container.p11, providers.Provider)
+ assert isinstance(container.p12, providers.Provider)
+ assert isinstance(container.p21, providers.Provider)
+ assert isinstance(container.p22, providers.Provider)
+ assert isinstance(container.p31, providers.Provider)
+ assert isinstance(container.p32, providers.Provider)
+ assert container.p11.last_overriding is provider
+
+
+def test_parent_set_in__new__():
+ class Container(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+ dependencies_container = providers.DependenciesContainer()
+ container = providers.Container(ContainerA)
+
+ assert Container.dependency.parent is Container
+ assert Container.dependencies_container.parent is Container
+ assert Container.container.parent is Container
+
+
+def test_parent_set_in__setattr__():
+ class Container(containers.DeclarativeContainer):
+ pass
+
+ Container.dependency = providers.Dependency()
+ Container.dependencies_container = providers.DependenciesContainer()
+ Container.container = providers.Container(ContainerA)
+
+ assert Container.dependency.parent is Container
+ assert Container.dependencies_container.parent is Container
+ assert Container.container.parent is Container
+
+
+def test_resolve_provider_name():
+ assert ContainerA.resolve_provider_name(ContainerA.p11) == "p11"
+
+
+def test_resolve_provider_name_no_provider():
+ with raises(errors.Error):
+ ContainerA.resolve_provider_name(providers.Provider())
+
+
+def test_child_dependency_parent_name():
+ class Container(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+
+ with raises(errors.Error, match="Dependency \"Container.dependency\" is not defined"):
+ Container.dependency()
+
+
+def test_child_dependencies_container_parent_name():
+ class Container(containers.DeclarativeContainer):
+ dependencies_container = providers.DependenciesContainer()
+
+ with raises(errors.Error, match="Dependency \"Container.dependencies_container.dependency\" is not defined"):
+ Container.dependencies_container.dependency()
+
+
+def test_child_container_parent_name():
+ class ChildContainer(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+
+ class Container(containers.DeclarativeContainer):
+ child_container = providers.Container(ChildContainer)
+
+ with raises(errors.Error, match="Dependency \"Container.child_container.dependency\" is not defined"):
+ Container.child_container.dependency()
diff --git a/tests/unit/containers/instance/__init__.py b/tests/unit/containers/instance/__init__.py
new file mode 100644
index 00000000..df1e8b69
--- /dev/null
+++ b/tests/unit/containers/instance/__init__.py
@@ -0,0 +1 @@
+"""Container instance tests."""
diff --git a/tests/unit/containers/instance/test_async_resources_py36.py b/tests/unit/containers/instance/test_async_resources_py36.py
new file mode 100644
index 00000000..b365b60d
--- /dev/null
+++ b/tests/unit/containers/instance/test_async_resources_py36.py
@@ -0,0 +1,147 @@
+"""Tests for container async resources."""
+
+import asyncio
+
+from dependency_injector import containers, providers
+from pytest import mark, raises
+
+
+@mark.asyncio
+async def test_init_and_shutdown_ordering():
+ """Test init and shutdown resources.
+
+ Methods .init_resources() and .shutdown_resources() should respect resources dependencies.
+ Initialization should first initialize resources without dependencies and then provide
+ these resources to other resources. Resources shutdown should follow the same rule: first
+ shutdown resources without initialized dependencies and then continue correspondingly
+ until all resources are shutdown.
+ """
+ initialized_resources = []
+ shutdown_resources = []
+
+ async def _resource(name, delay, **_):
+ await asyncio.sleep(delay)
+ initialized_resources.append(name)
+
+ yield name
+
+ await asyncio.sleep(delay)
+ shutdown_resources.append(name)
+
+ class Container(containers.DeclarativeContainer):
+ resource1 = providers.Resource(
+ _resource,
+ name="r1",
+ delay=0.03,
+ )
+ resource2 = providers.Resource(
+ _resource,
+ name="r2",
+ delay=0.02,
+ r1=resource1,
+ )
+ resource3 = providers.Resource(
+ _resource,
+ name="r3",
+ delay=0.01,
+ r2=resource2,
+ )
+
+ container = Container()
+
+ await container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == []
+
+ await container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ await container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ await container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1", "r3", "r2", "r1"]
+
+
+@mark.asyncio
+async def test_shutdown_circular_dependencies_breaker():
+ async def _resource(name, **_):
+ yield name
+
+ class Container(containers.DeclarativeContainer):
+ resource1 = providers.Resource(
+ _resource,
+ name="r1",
+ )
+ resource2 = providers.Resource(
+ _resource,
+ name="r2",
+ r1=resource1,
+ )
+ resource3 = providers.Resource(
+ _resource,
+ name="r3",
+ r2=resource2,
+ )
+
+ container = Container()
+ await container.init_resources()
+
+ # Create circular dependency after initialization (r3 -> r2 -> r1 -> r3 -> ...)
+ container.resource1.add_kwargs(r3=container.resource3)
+
+ with raises(RuntimeError, match="Unable to resolve resources shutdown order"):
+ await container.shutdown_resources()
+
+
+@mark.asyncio
+async def test_shutdown_sync_and_async_ordering():
+ initialized_resources = []
+ shutdown_resources = []
+
+ def _sync_resource(name, **_):
+ initialized_resources.append(name)
+ yield name
+ shutdown_resources.append(name)
+
+ async def _async_resource(name, **_):
+ initialized_resources.append(name)
+ yield name
+ shutdown_resources.append(name)
+
+ class Container(containers.DeclarativeContainer):
+ resource1 = providers.Resource(
+ _sync_resource,
+ name="r1",
+ )
+ resource2 = providers.Resource(
+ _sync_resource,
+ name="r2",
+ r1=resource1,
+ )
+ resource3 = providers.Resource(
+ _async_resource,
+ name="r3",
+ r2=resource2,
+ )
+
+ container = Container()
+
+ await container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == []
+
+ await container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ await container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ await container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1", "r3", "r2", "r1"]
diff --git a/tests/unit/containers/instance/test_custom_strings_py2_py3.py b/tests/unit/containers/instance/test_custom_strings_py2_py3.py
new file mode 100644
index 00000000..45cc451d
--- /dev/null
+++ b/tests/unit/containers/instance/test_custom_strings_py2_py3.py
@@ -0,0 +1,47 @@
+"""Tests for container with custom string classes as attribute names.
+
+See: https://github.com/ets-labs/python-dependency-injector/issues/479
+"""
+
+from dependency_injector import containers, providers
+from pytest import fixture, raises
+
+
+class CustomString(str):
+ pass
+
+
+class CustomClass:
+ thing = None
+
+
+@fixture
+def container():
+ return containers.DynamicContainer()
+
+
+@fixture
+def provider():
+ return providers.Provider()
+
+
+def test_setattr(container, provider):
+ setattr(container, CustomString("test_attr"), provider)
+ assert container.test_attr is provider
+
+
+def test_delattr(container, provider):
+ setattr(container, CustomString("test_attr"), provider)
+ delattr(container, CustomString("test_attr"))
+ with raises(AttributeError):
+ container.test_attr
+
+
+def test_set_provider(container, provider):
+ container.set_provider(CustomString("test_attr"), provider)
+ assert container.test_attr is provider
+
+
+def test_set_providers(container, provider):
+ container.set_providers(**{CustomString("test_attr"): provider})
+ assert container.test_attr is provider
diff --git a/tests/unit/containers/instance/test_load_config_py2_py3.py b/tests/unit/containers/instance/test_load_config_py2_py3.py
new file mode 100644
index 00000000..955ab213
--- /dev/null
+++ b/tests/unit/containers/instance/test_load_config_py2_py3.py
@@ -0,0 +1,68 @@
+"""Tests for container config loading."""
+
+from dependency_injector import containers, providers
+from pytest import fixture
+
+
+@fixture
+def yaml_config_file(tmp_path):
+ config_file = str(tmp_path / "config.yml")
+ with open(config_file, "w") as file:
+ file.write(
+ "section1:\n"
+ " value1: yaml-loaded\n"
+ )
+ return config_file
+
+
+@fixture
+def ini_config_file(tmp_path):
+ config_file = str(tmp_path / "config.ini")
+ with open(config_file, "w") as file:
+ file.write(
+ "[section2]:\n"
+ "value2 = ini-loaded\n"
+ )
+ return config_file
+
+
+
+def test_auto_load(yaml_config_file, ini_config_file):
+ class ContainerWithConfig(containers.DeclarativeContainer):
+ config = providers.Configuration(
+ yaml_files=[yaml_config_file],
+ ini_files=[ini_config_file],
+ )
+
+ container = ContainerWithConfig()
+ assert container.config.section1.value1() == "yaml-loaded"
+ assert container.config.section2.value2() == "ini-loaded"
+
+
+def test_auto_load_and_overriding(yaml_config_file):
+ class ContainerWithConfig(containers.DeclarativeContainer):
+ config = providers.Configuration(yaml_files=[yaml_config_file])
+
+ container = ContainerWithConfig(config={"section1": {"value1": "overridden"}})
+ assert container.config.section1.value1() == "overridden"
+
+
+def test_manual_load(yaml_config_file):
+ class ContainerWithConfig(containers.DeclarativeContainer):
+ auto_load_config = False
+ config = providers.Configuration(yaml_files=[yaml_config_file])
+
+ container = ContainerWithConfig()
+ assert container.config.section1.value1() is None
+
+ container.load_config()
+ assert container.config.section1.value1() == "yaml-loaded"
+
+
+def test_load_config_does_not_affect_class(yaml_config_file):
+ class ContainerWithConfig(containers.DeclarativeContainer):
+ config = providers.Configuration(yaml_files=[yaml_config_file])
+
+ assert ContainerWithConfig.config.section1.value1() is None
+ _ = ContainerWithConfig()
+ assert ContainerWithConfig.config.section1.value1() is None
diff --git a/tests/unit/containers/instance/test_main_py2_py3.py b/tests/unit/containers/instance/test_main_py2_py3.py
new file mode 100644
index 00000000..ddd61de9
--- /dev/null
+++ b/tests/unit/containers/instance/test_main_py2_py3.py
@@ -0,0 +1,493 @@
+"""Main container instance tests."""
+
+from dependency_injector import containers, providers, errors
+from pytest import raises
+
+
+class Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+
+def test_providers_attribute():
+ container_1 = Container()
+ container_2 = Container()
+
+ assert container_1.p11 is not container_2.p11
+ assert container_1.p12 is not container_2.p12
+ assert container_1.providers != container_2.providers
+
+
+def test_dependencies_attribute():
+ container = Container()
+ container.a1 = providers.Dependency()
+ container.a2 = providers.DependenciesContainer()
+ assert container.dependencies == {"a1": container.a1, "a2": container.a2}
+
+
+def test_set_get_del_providers():
+ p13 = providers.Provider()
+
+ container_1 = Container()
+ container_2 = Container()
+
+ container_1.p13 = p13
+ container_2.p13 = p13
+
+ assert Container.providers == dict(p11=Container.p11, p12=Container.p12)
+ assert Container.cls_providers, dict(p11=Container.p11, p12=Container.p12)
+
+ assert container_1.providers == dict(p11=container_1.p11, p12=container_1.p12, p13=p13)
+ assert container_2.providers == dict(p11=container_2.p11, p12=container_2.p12, p13=p13)
+
+ del container_1.p13
+ assert container_1.providers == dict(p11=container_1.p11, p12=container_1.p12)
+
+ del container_2.p13
+ assert container_2.providers == dict(p11=container_2.p11, p12=container_2.p12)
+
+ del container_1.p11
+ del container_1.p12
+ assert container_1.providers == dict()
+ assert Container.providers == dict(p11=Container.p11, p12=Container.p12)
+
+ del container_2.p11
+ del container_2.p12
+ assert container_2.providers == dict()
+ assert Container.providers == dict(p11=Container.p11, p12=Container.p12)
+
+
+def test_set_invalid_provider_type():
+ container = Container()
+ container.provider_type = providers.Object
+
+ with raises(errors.Error):
+ container.px = providers.Provider()
+
+ assert Container.provider_type is containers.DeclarativeContainer.provider_type
+
+
+def test_set_providers():
+ p13 = providers.Provider()
+ p14 = providers.Provider()
+ container = Container()
+
+ container.set_providers(p13=p13, p14=p14)
+
+ assert container.p13 is p13
+ assert container.p14 is p14
+
+
+def test_override():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ container = _Container()
+ overriding_container1 = _OverridingContainer1()
+ overriding_container2 = _OverridingContainer2()
+
+ container.override(overriding_container1)
+ container.override(overriding_container2)
+
+ assert container.overridden == (overriding_container1, overriding_container2)
+ assert container.p11.overridden == (overriding_container1.p11, overriding_container2.p11)
+
+ assert _Container.overridden == tuple()
+ assert _Container.p11.overridden == tuple()
+
+
+def test_override_with_it():
+ container = Container()
+ with raises(errors.Error):
+ container.override(container)
+
+
+def test_override_providers():
+ p1 = providers.Provider()
+ p2 = providers.Provider()
+ container = Container()
+
+ container.override_providers(p11=p1, p12=p2)
+
+ assert container.p11.last_overriding is p1
+ assert container.p12.last_overriding is p2
+
+
+def test_override_providers_context_manager():
+ p1 = providers.Provider()
+ p2 = providers.Provider()
+ container = Container()
+
+ with container.override_providers(p11=p1, p12=p2) as context_container:
+ assert container is context_container
+ assert container.p11.last_overriding is p1
+ assert container.p12.last_overriding is p2
+
+ assert container.p11.last_overriding is None
+ assert container.p12.last_overriding is None
+
+
+def test_override_providers_with_unknown_provider():
+ container = Container()
+ with raises(AttributeError):
+ container.override_providers(unknown=providers.Provider())
+
+
+def test_reset_last_overriding():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ container = _Container()
+ overriding_container1 = _OverridingContainer1()
+ overriding_container2 = _OverridingContainer2()
+
+ container.override(overriding_container1)
+ container.override(overriding_container2)
+ container.reset_last_overriding()
+
+ assert container.overridden == (overriding_container1,)
+ assert container.p11.overridden, (overriding_container1.p11,)
+
+
+def test_reset_last_overriding_when_not_overridden():
+ container = Container()
+ with raises(errors.Error):
+ container.reset_last_overriding()
+
+
+def test_reset_override():
+ class _Container(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer1(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+
+ class _OverridingContainer2(containers.DeclarativeContainer):
+ p11 = providers.Provider()
+ p12 = providers.Provider()
+
+ container = _Container()
+ overriding_container1 = _OverridingContainer1()
+ overriding_container2 = _OverridingContainer2()
+
+ container.override(overriding_container1)
+ container.override(overriding_container2)
+ container.reset_override()
+
+ assert container.overridden == tuple()
+ assert container.p11.overridden == tuple()
+
+
+def test_init_and_shutdown_resources_ordering():
+ """Test init and shutdown resources.
+
+ Methods .init_resources() and .shutdown_resources() should respect resources dependencies.
+ Initialization should first initialize resources without dependencies and then provide
+ these resources to other resources. Resources shutdown should follow the same rule: first
+ shutdown resources without initialized dependencies and then continue correspondingly
+ until all resources are shutdown.
+ """
+ initialized_resources = []
+ shutdown_resources = []
+
+ def _resource(name, **_):
+ initialized_resources.append(name)
+ yield name
+ shutdown_resources.append(name)
+
+ class Container(containers.DeclarativeContainer):
+ resource1 = providers.Resource(
+ _resource,
+ name="r1",
+ )
+ resource2 = providers.Resource(
+ _resource,
+ name="r2",
+ r1=resource1,
+ )
+ resource3 = providers.Resource(
+ _resource,
+ name="r3",
+ r2=resource2,
+ )
+
+ container = Container()
+
+ container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == []
+
+ container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ container.init_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1"]
+
+ container.shutdown_resources()
+ assert initialized_resources == ["r1", "r2", "r3", "r1", "r2", "r3"]
+ assert shutdown_resources == ["r3", "r2", "r1", "r3", "r2", "r1"]
+
+
+def test_shutdown_resources_circular_dependencies_breaker():
+ def _resource(name, **_):
+ yield name
+
+ class Container(containers.DeclarativeContainer):
+ resource1 = providers.Resource(
+ _resource,
+ name="r1",
+ )
+ resource2 = providers.Resource(
+ _resource,
+ name="r2",
+ r1=resource1,
+ )
+ resource3 = providers.Resource(
+ _resource,
+ name="r3",
+ r2=resource2,
+ )
+
+ container = Container()
+ container.init_resources()
+
+ # Create circular dependency after initialization (r3 -> r2 -> r1 -> r3 -> ...)
+ container.resource1.add_kwargs(r3=container.resource3)
+
+ with raises(RuntimeError, match="Unable to resolve resources shutdown order"):
+ container.shutdown_resources()
+
+
+def test_init_shutdown_nested_resources():
+ def _init1():
+ _init1.init_counter += 1
+ yield
+ _init1.shutdown_counter += 1
+
+ _init1.init_counter = 0
+ _init1.shutdown_counter = 0
+
+ def _init2():
+ _init2.init_counter += 1
+ yield
+ _init2.shutdown_counter += 1
+
+ _init2.init_counter = 0
+ _init2.shutdown_counter = 0
+
+ class Container(containers.DeclarativeContainer):
+
+ service = providers.Factory(
+ dict,
+ resource1=providers.Resource(_init1),
+ resource2=providers.Resource(_init2),
+ )
+
+ container = Container()
+ assert _init1.init_counter == 0
+ assert _init1.shutdown_counter == 0
+ assert _init2.init_counter == 0
+ assert _init2.shutdown_counter == 0
+
+ container.init_resources()
+ assert _init1.init_counter == 1
+ assert _init1.shutdown_counter == 0
+ assert _init2.init_counter == 1
+ assert _init2.shutdown_counter == 0
+
+ container.shutdown_resources()
+ assert _init1.init_counter == 1
+ assert _init1.shutdown_counter == 1
+ assert _init2.init_counter == 1
+ assert _init2.shutdown_counter == 1
+
+ container.init_resources()
+ container.shutdown_resources()
+ assert _init1.init_counter == 2
+ assert _init1.shutdown_counter == 2
+ assert _init2.init_counter == 2
+ assert _init2.shutdown_counter == 2
+
+
+def test_reset_singletons():
+ class SubSubContainer(containers.DeclarativeContainer):
+ singleton = providers.Singleton(object)
+
+ class SubContainer(containers.DeclarativeContainer):
+ singleton = providers.Singleton(object)
+ sub_sub_container = providers.Container(SubSubContainer)
+
+ class Container(containers.DeclarativeContainer):
+ singleton = providers.Singleton(object)
+ sub_container = providers.Container(SubContainer)
+
+ container = Container()
+
+ obj11 = container.singleton()
+ obj12 = container.sub_container().singleton()
+ obj13 = container.sub_container().sub_sub_container().singleton()
+
+ obj21 = container.singleton()
+ obj22 = container.sub_container().singleton()
+ obj23 = container.sub_container().sub_sub_container().singleton()
+
+ assert obj11 is obj21
+ assert obj12 is obj22
+ assert obj13 is obj23
+
+ container.reset_singletons()
+
+ obj31 = container.singleton()
+ obj32 = container.sub_container().singleton()
+ obj33 = container.sub_container().sub_sub_container().singleton()
+
+ obj41 = container.singleton()
+ obj42 = container.sub_container().singleton()
+ obj43 = container.sub_container().sub_sub_container().singleton()
+
+ assert obj11 is not obj31
+ assert obj12 is not obj32
+ assert obj13 is not obj33
+
+ assert obj21 is not obj31
+ assert obj22 is not obj32
+ assert obj23 is not obj33
+
+ assert obj31 is obj41
+ assert obj32 is obj42
+ assert obj33 is obj43
+
+
+def test_reset_singletons_context_manager():
+ class Item:
+ def __init__(self, dependency):
+ self.dependency = dependency
+
+ class Container(containers.DeclarativeContainer):
+ dependent = providers.Singleton(object)
+ singleton = providers.Singleton(Item, dependency=dependent)
+
+ container = Container()
+
+ instance1 = container.singleton()
+ with container.reset_singletons():
+ instance2 = container.singleton()
+ instance3 = container.singleton()
+
+ assert len({instance1, instance2, instance3}) == 3
+ assert len({instance1.dependency, instance2.dependency, instance3.dependency}) == 3
+
+
+def test_reset_singletons_context_manager_as_attribute():
+ container = containers.DeclarativeContainer()
+ with container.reset_singletons() as alias:
+ pass
+ assert container is alias
+
+
+def test_check_dependencies():
+ class SubContainer(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+
+ class Container(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+ dependencies_container = providers.DependenciesContainer()
+ provider = providers.List(dependencies_container.dependency)
+ sub_container = providers.Container(SubContainer)
+
+ container = Container()
+
+ with raises(errors.Error) as exception_info:
+ container.check_dependencies()
+
+ assert "Container \"Container\" has undefined dependencies:" in str(exception_info.value)
+ assert "\"Container.dependency\"" in str(exception_info.value)
+ assert "\"Container.dependencies_container.dependency\"" in str(exception_info.value)
+ assert "\"Container.sub_container.dependency\"" in str(exception_info.value)
+
+
+def test_check_dependencies_all_defined():
+ class Container(containers.DeclarativeContainer):
+ dependency = providers.Dependency()
+
+ container = Container(dependency="provided")
+ result = container.check_dependencies()
+
+ assert result is None
+
+
+def test_assign_parent():
+ parent = providers.DependenciesContainer()
+ container = Container()
+
+ container.assign_parent(parent)
+
+ assert container.parent is parent
+
+
+def test_parent_name_declarative_parent():
+ container = Container()
+ assert container.parent_name == "Container"
+
+
+def test_parent_name():
+ container = Container()
+ assert container.parent_name == "Container"
+
+
+def test_parent_name_with_deep_parenting():
+ class Container2(containers.DeclarativeContainer):
+ name = providers.Container(Container)
+
+ class Container1(containers.DeclarativeContainer):
+ container = providers.Container(Container2)
+
+ container = Container1()
+ assert container.container().name.parent_name == "Container1.container.name"
+
+
+def test_parent_name_is_none():
+ container = containers.DynamicContainer()
+ assert container.parent_name is None
+
+
+def test_parent_deepcopy():
+ class ParentContainer(containers.DeclarativeContainer):
+ child = providers.Container(Container)
+
+ container = ParentContainer()
+ copied = providers.deepcopy(container)
+
+ assert container.child.parent is container
+ assert copied.child.parent is copied
+
+ assert container is not copied
+ assert container.child is not copied.child
+ assert container.child.parent is not copied.child.parent
+
+
+def test_resolve_provider_name():
+ container = Container()
+ assert container.resolve_provider_name(container.p11) == "p11"
+
+
+def test_resolve_provider_name_no_provider():
+ container = Container()
+ with raises(errors.Error):
+ container.resolve_provider_name(providers.Provider())
diff --git a/tests/unit/containers/instance/test_self_py2_py3.py b/tests/unit/containers/instance/test_self_py2_py3.py
new file mode 100644
index 00000000..1039ddcd
--- /dev/null
+++ b/tests/unit/containers/instance/test_self_py2_py3.py
@@ -0,0 +1,215 @@
+"""Tests for container self provider."""
+
+from dependency_injector import containers, providers, errors
+from pytest import raises
+
+
+def test_self():
+ def call_bar(container):
+ return container.bar()
+
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = providers.Callable(call_bar, __self__)
+ bar = providers.Object("hello")
+
+ container = Container()
+ assert container.foo() is "hello"
+
+
+def test_self_attribute_implicit():
+ class Container(containers.DeclarativeContainer):
+ pass
+
+ container = Container()
+ assert container.__self__() is container
+
+
+def test_self_attribute_explicit():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+
+ container = Container()
+ assert container.__self__() is container
+
+
+def test_single_self():
+ with raises(errors.Error):
+ class Container(containers.DeclarativeContainer):
+ self1 = providers.Self()
+ self2 = providers.Self()
+
+
+def test_self_attribute_alt_name_implicit():
+ class Container(containers.DeclarativeContainer):
+ foo = providers.Self()
+
+ container = Container()
+
+ assert container.__self__ is container.foo
+ assert set(container.__self__.alt_names) == {"foo"}
+
+
+def test_self_attribute_alt_name_explicit_1():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = __self__
+ bar = __self__
+
+ container = Container()
+
+ assert container.__self__ is container.foo
+ assert container.__self__ is container.bar
+ assert set(container.__self__.alt_names) == {"foo", "bar"}
+
+
+def test_self_attribute_alt_name_explicit_2():
+ class Container(containers.DeclarativeContainer):
+ foo = providers.Self()
+ bar = foo
+
+ container = Container()
+
+ assert container.__self__ is container.foo
+ assert container.__self__ is container.bar
+ assert set(container.__self__.alt_names) == {"foo", "bar"}
+
+
+def test_providers_attribute_1():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = __self__
+ bar = __self__
+
+ container = Container()
+
+ assert container.providers == {}
+ assert Container.providers == {}
+
+
+def test_providers_attribute_2():
+ class Container(containers.DeclarativeContainer):
+ foo = providers.Self()
+ bar = foo
+
+ container = Container()
+
+ assert container.providers == {}
+ assert Container.providers == {}
+
+
+def test_container_multiple_instances():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+
+ container1 = Container()
+ container2 = Container()
+
+ assert container1 is not container2
+ assert container1.__self__() is container1
+ assert container2.__self__() is container2
+
+
+def test_deepcopy():
+ def call_bar(container):
+ return container.bar()
+
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = providers.Callable(call_bar, __self__)
+ bar = providers.Object("hello")
+
+ container1 = Container()
+ container2 = providers.deepcopy(container1)
+ container1.bar.override("bye")
+
+ assert container1.foo() == "bye"
+ assert container2.foo() == "hello"
+
+
+def test_deepcopy_alt_names_1():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = __self__
+ bar = foo
+
+ container1 = Container()
+ container2 = providers.deepcopy(container1)
+
+ assert container2.__self__() is container2
+ assert container2.foo() is container2
+ assert container2.bar() is container2
+
+
+def test_deepcopy_alt_names_2():
+ class Container(containers.DeclarativeContainer):
+ self = providers.Self()
+
+ container1 = Container()
+ container2 = providers.deepcopy(container1)
+
+ assert container2.__self__() is container2
+ assert container2.self() is container2
+
+
+def test_deepcopy_no_self_dependencies():
+ class Container(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+
+ container1 = Container()
+ container2 = providers.deepcopy(container1)
+
+ assert container1 is not container2
+ assert container1.__self__ is not container2.__self__
+ assert container1.__self__() is container1
+ assert container2.__self__() is container2
+
+
+def test_with_container_provider():
+ def call_bar(container):
+ return container.bar()
+
+ class SubContainer(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = providers.Callable(call_bar, __self__)
+ bar = providers.Object("hello")
+
+ class Container(containers.DeclarativeContainer):
+ sub_container = providers.Container(SubContainer)
+
+ baz = providers.Callable(lambda value: value, sub_container.foo)
+
+ container = Container()
+ assert container.baz() == "hello"
+
+
+def test_with_container_provider_overriding():
+ def call_bar(container):
+ return container.bar()
+
+ class SubContainer(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+ foo = providers.Callable(call_bar, __self__)
+ bar = providers.Object("hello")
+
+ class Container(containers.DeclarativeContainer):
+ sub_container = providers.Container(SubContainer, bar="bye")
+
+ baz = providers.Callable(lambda value: value, sub_container.foo)
+
+ container = Container()
+ assert container.baz() == "bye"
+
+
+def test_with_container_provider_self():
+ class SubContainer(containers.DeclarativeContainer):
+ __self__ = providers.Self()
+
+ class Container(containers.DeclarativeContainer):
+ sub_container = providers.Container(SubContainer)
+
+ container = Container()
+
+ assert container.__self__() is container
+ assert container.sub_container().__self__() is container.sub_container()
+
diff --git a/tests/unit/containers/test_declarative_py2_py3.py b/tests/unit/containers/test_declarative_py2_py3.py
deleted file mode 100644
index f731bd92..00000000
--- a/tests/unit/containers/test_declarative_py2_py3.py
+++ /dev/null
@@ -1,539 +0,0 @@
-"""Dependency injector declarative container unit tests."""
-
-import collections
-import unittest
-
-from dependency_injector import (
- containers,
- providers,
- errors,
-)
-
-
-class ContainerA(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
-
-class ContainerB(ContainerA):
- p21 = providers.Provider()
- p22 = providers.Provider()
-
-
-class ContainerC(ContainerB):
- p31 = providers.Provider()
- p32 = providers.Provider()
-
-
-class DeclarativeContainerTests(unittest.TestCase):
-
- def test_providers_attribute(self):
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerB.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p21=ContainerB.p21,
- p22=ContainerB.p22))
- self.assertEqual(ContainerC.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p21=ContainerB.p21,
- p22=ContainerB.p22,
- p31=ContainerC.p31,
- p32=ContainerC.p32))
-
- def test_providers_attribute_with_redefinition(self):
- p1 = providers.Provider()
- p2 = providers.Provider()
-
- class ContainerA2(ContainerA):
- p11 = p1
- p12 = p2
-
- self.assertEqual(
- ContainerA.providers,
- {
- 'p11': ContainerA.p11,
- 'p12': ContainerA.p12,
- },
- )
- self.assertEqual(
- ContainerA2.providers,
- {
- 'p11': p1,
- 'p12': p2,
- },
- )
-
- def test_cls_providers_attribute(self):
- self.assertEqual(ContainerA.cls_providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerB.cls_providers, dict(p21=ContainerB.p21,
- p22=ContainerB.p22))
- self.assertEqual(ContainerC.cls_providers, dict(p31=ContainerC.p31,
- p32=ContainerC.p32))
-
- def test_inherited_providers_attribute(self):
- self.assertEqual(ContainerA.inherited_providers, dict())
- self.assertEqual(ContainerB.inherited_providers,
- dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerC.inherited_providers,
- dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p21=ContainerB.p21,
- p22=ContainerB.p22))
-
- def test_dependencies_attribute(self):
- class ContainerD(ContainerC):
- p41 = providers.Dependency()
- p42 = providers.DependenciesContainer()
-
- class ContainerE(ContainerD):
- p51 = providers.Dependency()
- p52 = providers.DependenciesContainer()
-
- self.assertEqual(
- ContainerD.dependencies,
- {
- 'p41': ContainerD.p41,
- 'p42': ContainerD.p42,
- },
- )
- self.assertEqual(
- ContainerE.dependencies,
- {
- 'p41': ContainerD.p41,
- 'p42': ContainerD.p42,
- 'p51': ContainerE.p51,
- 'p52': ContainerE.p52,
- },
- )
-
- def test_set_get_del_providers(self):
- a_p13 = providers.Provider()
- b_p23 = providers.Provider()
-
- ContainerA.p13 = a_p13
- ContainerB.p23 = b_p23
-
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p13=a_p13))
- self.assertEqual(ContainerB.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p21=ContainerB.p21,
- p22=ContainerB.p22,
- p23=b_p23))
-
- self.assertEqual(ContainerA.cls_providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p13=a_p13))
- self.assertEqual(ContainerB.cls_providers, dict(p21=ContainerB.p21,
- p22=ContainerB.p22,
- p23=b_p23))
-
- del ContainerA.p13
- del ContainerB.p23
-
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerB.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12,
- p21=ContainerB.p21,
- p22=ContainerB.p22))
-
- self.assertEqual(ContainerA.cls_providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerB.cls_providers, dict(p21=ContainerB.p21,
- p22=ContainerB.p22))
-
- def test_declare_with_valid_provider_type(self):
- class _Container(containers.DeclarativeContainer):
- provider_type = providers.Object
- px = providers.Object(object())
-
- self.assertIsInstance(_Container.px, providers.Object)
-
- def test_declare_with_invalid_provider_type(self):
- with self.assertRaises(errors.Error):
- class _Container(containers.DeclarativeContainer):
- provider_type = providers.Object
- px = providers.Provider()
-
- def test_seth_valid_provider_type(self):
- class _Container(containers.DeclarativeContainer):
- provider_type = providers.Object
-
- _Container.px = providers.Object(object())
-
- self.assertIsInstance(_Container.px, providers.Object)
-
- def test_set_invalid_provider_type(self):
- class _Container(containers.DeclarativeContainer):
- provider_type = providers.Object
-
- with self.assertRaises(errors.Error):
- _Container.px = providers.Provider()
-
- def test_override(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- _Container.override(_OverridingContainer1)
- _Container.override(_OverridingContainer2)
-
- self.assertEqual(_Container.overridden,
- (_OverridingContainer1,
- _OverridingContainer2))
- self.assertEqual(_Container.p11.overridden,
- (_OverridingContainer1.p11,
- _OverridingContainer2.p11))
-
- def test_override_with_itself(self):
- with self.assertRaises(errors.Error):
- ContainerA.override(ContainerA)
-
- def test_override_with_parent(self):
- with self.assertRaises(errors.Error):
- ContainerB.override(ContainerA)
-
- def test_override_decorator(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- @containers.override(_Container)
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- @containers.override(_Container)
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- self.assertEqual(_Container.overridden,
- (_OverridingContainer1,
- _OverridingContainer2))
- self.assertEqual(_Container.p11.overridden,
- (_OverridingContainer1.p11,
- _OverridingContainer2.p11))
-
- def test_reset_last_overriding(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- _Container.override(_OverridingContainer1)
- _Container.override(_OverridingContainer2)
- _Container.reset_last_overriding()
-
- self.assertEqual(_Container.overridden,
- (_OverridingContainer1,))
- self.assertEqual(_Container.p11.overridden,
- (_OverridingContainer1.p11,))
-
- def test_reset_last_overriding_when_not_overridden(self):
- with self.assertRaises(errors.Error):
- ContainerA.reset_last_overriding()
-
- def test_reset_override(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- _Container.override(_OverridingContainer1)
- _Container.override(_OverridingContainer2)
- _Container.reset_override()
-
- self.assertEqual(_Container.overridden, tuple())
- self.assertEqual(_Container.p11.overridden, tuple())
-
- def test_copy(self):
- @containers.copy(ContainerA)
- class _Container1(ContainerA):
- pass
-
- @containers.copy(ContainerA)
- class _Container2(ContainerA):
- pass
-
- self.assertIsNot(ContainerA.p11, _Container1.p11)
- self.assertIsNot(ContainerA.p12, _Container1.p12)
-
- self.assertIsNot(ContainerA.p11, _Container2.p11)
- self.assertIsNot(ContainerA.p12, _Container2.p12)
-
- self.assertIsNot(_Container1.p11, _Container2.p11)
- self.assertIsNot(_Container1.p12, _Container2.p12)
-
- def test_copy_with_replacing(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Object(0)
- p12 = providers.Factory(dict, p11=p11)
-
- @containers.copy(_Container)
- class _Container1(_Container):
- p11 = providers.Object(1)
- p13 = providers.Object(11)
-
- @containers.copy(_Container)
- class _Container2(_Container):
- p11 = providers.Object(2)
- p13 = providers.Object(22)
-
- self.assertIsNot(_Container.p11, _Container1.p11)
- self.assertIsNot(_Container.p12, _Container1.p12)
-
- self.assertIsNot(_Container.p11, _Container2.p11)
- self.assertIsNot(_Container.p12, _Container2.p12)
-
- self.assertIsNot(_Container1.p11, _Container2.p11)
- self.assertIsNot(_Container1.p12, _Container2.p12)
-
- self.assertEqual(_Container.p12(), {'p11': 0})
- self.assertEqual(_Container1.p12(), {'p11': 1})
- self.assertEqual(_Container2.p12(), {'p11': 2})
-
- self.assertEqual(_Container1.p13(), 11)
- self.assertEqual(_Container2.p13(), 22)
-
- def test_copy_with_parent_dependency(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/477
- class Base(containers.DeclarativeContainer):
- p11 = providers.Object(0)
- p12 = providers.Factory(dict, p11=p11)
-
- @containers.copy(Base)
- class New(Base):
- p13 = providers.Factory(dict, p12=Base.p12)
-
- new1 = New()
- new2 = New(p11=1)
- new3 = New(p11=2)
-
- self.assertEqual(new1.p13(), {'p12': {'p11': 0}})
- self.assertEqual(new2.p13(), {'p12': {'p11': 1}})
- self.assertEqual(new3.p13(), {'p12': {'p11': 2}})
-
- def test_copy_with_replacing_subcontainer_providers(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/374
- class X(containers.DeclarativeContainer):
- foo = providers.Dependency(instance_of=str)
-
- def build_x():
- return X(foo='1')
-
- class A(containers.DeclarativeContainer):
- x = providers.DependenciesContainer(**X.providers)
- y = x.foo
-
- @containers.copy(A)
- class B1(A):
- x = providers.Container(build_x)
-
- b1 = B1()
-
- self.assertEqual(b1.y(), '1')
-
- def test_containers_attribute(self):
- class Container(containers.DeclarativeContainer):
- class Container1(containers.DeclarativeContainer):
- pass
-
- class Container2(containers.DeclarativeContainer):
- pass
-
- Container3 = containers.DynamicContainer()
-
- self.assertEqual(Container.containers,
- dict(Container1=Container.Container1,
- Container2=Container.Container2,
- Container3=Container.Container3))
-
- def test_init_with_overriding_providers(self):
- p1 = providers.Provider()
- p2 = providers.Provider()
-
- container = ContainerA(p11=p1, p12=p2)
-
- self.assertIs(container.p11.last_overriding, p1)
- self.assertIs(container.p12.last_overriding, p2)
-
- def test_init_with_overridden_dependency(self):
- # Bug:
- # https://github.com/ets-labs/python-dependency-injector/issues/198
- class _Container(containers.DeclarativeContainer):
- p1 = providers.Dependency(instance_of=int)
-
- p2 = providers.Dependency(object)
- p2.override(providers.Factory(dict, p1=p1))
-
- container = _Container(p1=1)
-
- self.assertEqual(container.p2(), {'p1': 1})
- self.assertIs(
- container.p2.last_overriding.kwargs['p1'],
- container.p1,
- )
- self.assertIsNot(
- container.p2.last_overriding.kwargs['p1'],
- _Container.p1,
- )
- self.assertIs(
- _Container.p2.last_overriding.kwargs['p1'],
- _Container.p1,
- )
-
- def test_init_with_chained_dependency(self):
- # Bug:
- # https://github.com/ets-labs/python-dependency-injector/issues/200
- class _Container(containers.DeclarativeContainer):
- p1 = providers.Dependency(instance_of=int)
- p2 = providers.Factory(p1)
-
- container = _Container(p1=1)
-
- self.assertEqual(container.p2(), 1)
- self.assertIs(container.p2.cls, container.p1)
- self.assertIs(_Container.p2.cls, _Container.p1)
- self.assertIsNot(container.p2.cls, _Container.p1)
-
- def test_init_with_dependency_delegation(self):
- # Bug:
- # https://github.com/ets-labs/python-dependency-injector/issues/235
- A = collections.namedtuple('A', [])
- B = collections.namedtuple('B', ['fa'])
- C = collections.namedtuple('B', ['a'])
-
- class Services(containers.DeclarativeContainer):
- a = providers.Dependency()
- c = providers.Factory(C, a=a)
- b = providers.Factory(B, fa=a.provider)
-
- a = providers.Factory(A)
- assert isinstance(Services(a=a).c().a, A) # ok
- Services(a=a).b().fa()
-
- def test_init_with_grand_child_provider(self):
- # Bug:
- # https://github.com/ets-labs/python-dependency-injector/issues/350
- provider = providers.Provider()
- container = ContainerC(p11=provider)
-
- self.assertIsInstance(container.p11, providers.Provider)
- self.assertIsInstance(container.p12, providers.Provider)
- self.assertIsInstance(container.p21, providers.Provider)
- self.assertIsInstance(container.p22, providers.Provider)
- self.assertIsInstance(container.p31, providers.Provider)
- self.assertIsInstance(container.p32, providers.Provider)
- self.assertIs(container.p11.last_overriding, provider)
-
- def test_parent_set_in__new__(self):
- class Container(containers.DeclarativeContainer):
- dependency = providers.Dependency()
- dependencies_container = providers.DependenciesContainer()
- container = providers.Container(ContainerA)
-
- self.assertIs(Container.dependency.parent, Container)
- self.assertIs(Container.dependencies_container.parent, Container)
- self.assertIs(Container.container.parent, Container)
-
- def test_parent_set_in__setattr__(self):
- class Container(containers.DeclarativeContainer):
- pass
-
- Container.dependency = providers.Dependency()
- Container.dependencies_container = providers.DependenciesContainer()
- Container.container = providers.Container(ContainerA)
-
- self.assertIs(Container.dependency.parent, Container)
- self.assertIs(Container.dependencies_container.parent, Container)
- self.assertIs(Container.container.parent, Container)
-
- def test_resolve_provider_name(self):
- self.assertEqual(ContainerA.resolve_provider_name(ContainerA.p11), 'p11')
-
- def test_resolve_provider_name_no_provider(self):
- with self.assertRaises(errors.Error):
- ContainerA.resolve_provider_name(providers.Provider())
-
- def test_child_dependency_parent_name(self):
- class Container(containers.DeclarativeContainer):
- dependency = providers.Dependency()
-
- with self.assertRaises(errors.Error) as context:
- Container.dependency()
- self.assertEqual(
- str(context.exception),
- 'Dependency "Container.dependency" is not defined',
- )
-
- def test_child_dependencies_container_parent_name(self):
- class Container(containers.DeclarativeContainer):
- dependencies_container = providers.DependenciesContainer()
-
- with self.assertRaises(errors.Error) as context:
- Container.dependencies_container.dependency()
- self.assertEqual(
- str(context.exception),
- 'Dependency "Container.dependencies_container.dependency" is not defined',
- )
-
- def test_child_container_parent_name(self):
- class ChildContainer(containers.DeclarativeContainer):
- dependency = providers.Dependency()
-
- class Container(containers.DeclarativeContainer):
- child_container = providers.Container(ChildContainer)
-
- with self.assertRaises(errors.Error) as context:
- Container.child_container.dependency()
- self.assertEqual(
- str(context.exception),
- 'Dependency "Container.child_container.dependency" is not defined',
- )
-
-
-class DeclarativeContainerWithCustomStringTests(unittest.TestCase):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/479
-
- class CustomString(str):
- pass
-
- class CustomClass:
- thing = None
-
- class CustomContainer(containers.DeclarativeContainer):
- pass
-
- def setUp(self):
- self.container = self.CustomContainer
- self.provider = providers.Provider()
-
- def test_setattr(self):
- setattr(self.container, self.CustomString('test_attr'), self.provider)
- self.assertIs(self.container.test_attr, self.provider)
-
- def test_delattr(self):
- setattr(self.container, self.CustomString('test_attr'), self.provider)
- delattr(self.container, self.CustomString('test_attr'))
- with self.assertRaises(AttributeError):
- self.container.test_attr
diff --git a/tests/unit/containers/test_dynamic_async_resources_py36.py b/tests/unit/containers/test_dynamic_async_resources_py36.py
deleted file mode 100644
index 12cec831..00000000
--- a/tests/unit/containers/test_dynamic_async_resources_py36.py
+++ /dev/null
@@ -1,159 +0,0 @@
-"""Dependency injector dynamic container unit tests for async resources."""
-import asyncio
-
-# Runtime import to get asyncutils module
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-
-from asyncutils import AsyncTestCase
-
-from dependency_injector import (
- containers,
- providers,
-)
-
-
-class AsyncResourcesTest(AsyncTestCase):
-
- def test_init_and_shutdown_ordering(self):
- """Test init and shutdown resources.
-
- Methods .init_resources() and .shutdown_resources() should respect resources dependencies.
- Initialization should first initialize resources without dependencies and then provide
- these resources to other resources. Resources shutdown should follow the same rule: first
- shutdown resources without initialized dependencies and then continue correspondingly
- until all resources are shutdown.
- """
- initialized_resources = []
- shutdown_resources = []
-
- async def _resource(name, delay, **_):
- await asyncio.sleep(delay)
- initialized_resources.append(name)
-
- yield name
-
- await asyncio.sleep(delay)
- shutdown_resources.append(name)
-
- class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(
- _resource,
- name='r1',
- delay=0.03,
- )
- resource2 = providers.Resource(
- _resource,
- name='r2',
- delay=0.02,
- r1=resource1,
- )
- resource3 = providers.Resource(
- _resource,
- name='r3',
- delay=0.01,
- r2=resource2,
- )
-
- container = Container()
-
- self._run(container.init_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, [])
-
- self._run(container.shutdown_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- self._run(container.init_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- self._run(container.shutdown_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
-
- def test_shutdown_circular_dependencies_breaker(self):
- async def _resource(name, **_):
- yield name
-
- class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(
- _resource,
- name='r1',
- )
- resource2 = providers.Resource(
- _resource,
- name='r2',
- r1=resource1,
- )
- resource3 = providers.Resource(
- _resource,
- name='r3',
- r2=resource2,
- )
-
- container = Container()
- self._run(container.init_resources())
-
- # Create circular dependency after initialization (r3 -> r2 -> r1 -> r3 -> ...)
- container.resource1.add_kwargs(r3=container.resource3)
-
- with self.assertRaises(RuntimeError) as context:
- self._run(container.shutdown_resources())
- self.assertEqual(str(context.exception), 'Unable to resolve resources shutdown order')
-
- def test_shutdown_sync_and_async_ordering(self):
- initialized_resources = []
- shutdown_resources = []
-
- def _sync_resource(name, **_):
- initialized_resources.append(name)
- yield name
- shutdown_resources.append(name)
-
- async def _async_resource(name, **_):
- initialized_resources.append(name)
- yield name
- shutdown_resources.append(name)
-
- class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(
- _sync_resource,
- name='r1',
- )
- resource2 = providers.Resource(
- _sync_resource,
- name='r2',
- r1=resource1,
- )
- resource3 = providers.Resource(
- _async_resource,
- name='r3',
- r2=resource2,
- )
-
- container = Container()
-
- self._run(container.init_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, [])
-
- self._run(container.shutdown_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- self._run(container.init_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- self._run(container.shutdown_resources())
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
diff --git a/tests/unit/containers/test_dynamic_py2_py3.py b/tests/unit/containers/test_dynamic_py2_py3.py
deleted file mode 100644
index 1c722be8..00000000
--- a/tests/unit/containers/test_dynamic_py2_py3.py
+++ /dev/null
@@ -1,720 +0,0 @@
-"""Dependency injector dynamic container unit tests."""
-
-import unittest
-
-from dependency_injector import (
- containers,
- providers,
- errors,
-)
-
-
-class ContainerA(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
-
-class DeclarativeContainerInstanceTests(unittest.TestCase):
-
- def test_providers_attribute(self):
- container_a1 = ContainerA()
- container_a2 = ContainerA()
-
- self.assertIsNot(container_a1.p11, container_a2.p11)
- self.assertIsNot(container_a1.p12, container_a2.p12)
- self.assertNotEqual(container_a1.providers, container_a2.providers)
-
- def test_dependencies_attribute(self):
- container = ContainerA()
- container.a1 = providers.Dependency()
- container.a2 = providers.DependenciesContainer()
- self.assertEqual(container.dependencies, {'a1': container.a1, 'a2': container.a2})
-
- def test_set_get_del_providers(self):
- p13 = providers.Provider()
-
- container_a1 = ContainerA()
- container_a2 = ContainerA()
-
- container_a1.p13 = p13
- container_a2.p13 = p13
-
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
- self.assertEqual(ContainerA.cls_providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
-
- self.assertEqual(container_a1.providers, dict(p11=container_a1.p11,
- p12=container_a1.p12,
- p13=p13))
- self.assertEqual(container_a2.providers, dict(p11=container_a2.p11,
- p12=container_a2.p12,
- p13=p13))
-
- del container_a1.p13
- self.assertEqual(container_a1.providers, dict(p11=container_a1.p11,
- p12=container_a1.p12))
-
- del container_a2.p13
- self.assertEqual(container_a2.providers, dict(p11=container_a2.p11,
- p12=container_a2.p12))
-
- del container_a1.p11
- del container_a1.p12
- self.assertEqual(container_a1.providers, dict())
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
-
- del container_a2.p11
- del container_a2.p12
- self.assertEqual(container_a2.providers, dict())
- self.assertEqual(ContainerA.providers, dict(p11=ContainerA.p11,
- p12=ContainerA.p12))
-
- def test_set_invalid_provider_type(self):
- container_a = ContainerA()
- container_a.provider_type = providers.Object
-
- with self.assertRaises(errors.Error):
- container_a.px = providers.Provider()
-
- self.assertIs(ContainerA.provider_type,
- containers.DeclarativeContainer.provider_type)
-
- def test_set_providers(self):
- p13 = providers.Provider()
- p14 = providers.Provider()
- container_a = ContainerA()
-
- container_a.set_providers(p13=p13, p14=p14)
-
- self.assertIs(container_a.p13, p13)
- self.assertIs(container_a.p14, p14)
-
- def test_override(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- container = _Container()
- overriding_container1 = _OverridingContainer1()
- overriding_container2 = _OverridingContainer2()
-
- container.override(overriding_container1)
- container.override(overriding_container2)
-
- self.assertEqual(container.overridden,
- (overriding_container1,
- overriding_container2))
- self.assertEqual(container.p11.overridden,
- (overriding_container1.p11,
- overriding_container2.p11))
-
- self.assertEqual(_Container.overridden, tuple())
- self.assertEqual(_Container.p11.overridden, tuple())
-
- def test_override_with_itself(self):
- container = ContainerA()
- with self.assertRaises(errors.Error):
- container.override(container)
-
- def test_override_providers(self):
- p1 = providers.Provider()
- p2 = providers.Provider()
- container_a = ContainerA()
-
- container_a.override_providers(p11=p1, p12=p2)
-
- self.assertIs(container_a.p11.last_overriding, p1)
- self.assertIs(container_a.p12.last_overriding, p2)
-
- def test_override_providers_with_unknown_provider(self):
- container_a = ContainerA()
-
- with self.assertRaises(AttributeError):
- container_a.override_providers(unknown=providers.Provider())
-
- def test_reset_last_overriding(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- container = _Container()
- overriding_container1 = _OverridingContainer1()
- overriding_container2 = _OverridingContainer2()
-
- container.override(overriding_container1)
- container.override(overriding_container2)
- container.reset_last_overriding()
-
- self.assertEqual(container.overridden,
- (overriding_container1,))
- self.assertEqual(container.p11.overridden,
- (overriding_container1.p11,))
-
- def test_reset_last_overriding_when_not_overridden(self):
- container = ContainerA()
-
- with self.assertRaises(errors.Error):
- container.reset_last_overriding()
-
- def test_reset_override(self):
- class _Container(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer1(containers.DeclarativeContainer):
- p11 = providers.Provider()
-
- class _OverridingContainer2(containers.DeclarativeContainer):
- p11 = providers.Provider()
- p12 = providers.Provider()
-
- container = _Container()
- overriding_container1 = _OverridingContainer1()
- overriding_container2 = _OverridingContainer2()
-
- container.override(overriding_container1)
- container.override(overriding_container2)
- container.reset_override()
-
- self.assertEqual(container.overridden, tuple())
- self.assertEqual(container.p11.overridden, tuple())
-
- def test_init_and_shutdown_resources_ordering(self):
- """Test init and shutdown resources.
-
- Methods .init_resources() and .shutdown_resources() should respect resources dependencies.
- Initialization should first initialize resources without dependencies and then provide
- these resources to other resources. Resources shutdown should follow the same rule: first
- shutdown resources without initialized dependencies and then continue correspondingly
- until all resources are shutdown.
- """
- initialized_resources = []
- shutdown_resources = []
-
- def _resource(name, **_):
- initialized_resources.append(name)
- yield name
- shutdown_resources.append(name)
-
- class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(
- _resource,
- name='r1',
- )
- resource2 = providers.Resource(
- _resource,
- name='r2',
- r1=resource1,
- )
- resource3 = providers.Resource(
- _resource,
- name='r3',
- r2=resource2,
- )
-
- container = Container()
-
- container.init_resources()
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, [])
-
- container.shutdown_resources()
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- container.init_resources()
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1'])
-
- container.shutdown_resources()
- self.assertEqual(initialized_resources, ['r1', 'r2', 'r3', 'r1', 'r2', 'r3'])
- self.assertEqual(shutdown_resources, ['r3', 'r2', 'r1', 'r3', 'r2', 'r1'])
-
- def test_shutdown_resources_circular_dependencies_breaker(self):
- def _resource(name, **_):
- yield name
-
- class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(
- _resource,
- name='r1',
- )
- resource2 = providers.Resource(
- _resource,
- name='r2',
- r1=resource1,
- )
- resource3 = providers.Resource(
- _resource,
- name='r3',
- r2=resource2,
- )
-
- container = Container()
- container.init_resources()
-
- # Create circular dependency after initialization (r3 -> r2 -> r1 -> r3 -> ...)
- container.resource1.add_kwargs(r3=container.resource3)
-
- with self.assertRaises(RuntimeError) as context:
- container.shutdown_resources()
- self.assertEqual(str(context.exception), 'Unable to resolve resources shutdown order')
-
- def test_init_shutdown_nested_resources(self):
- def _init1():
- _init1.init_counter += 1
- yield
- _init1.shutdown_counter += 1
-
- _init1.init_counter = 0
- _init1.shutdown_counter = 0
-
- def _init2():
- _init2.init_counter += 1
- yield
- _init2.shutdown_counter += 1
-
- _init2.init_counter = 0
- _init2.shutdown_counter = 0
-
- class Container(containers.DeclarativeContainer):
-
- service = providers.Factory(
- dict,
- resource1=providers.Resource(_init1),
- resource2=providers.Resource(_init2),
- )
-
- container = Container()
- self.assertEqual(_init1.init_counter, 0)
- self.assertEqual(_init1.shutdown_counter, 0)
- self.assertEqual(_init2.init_counter, 0)
- self.assertEqual(_init2.shutdown_counter, 0)
-
- container.init_resources()
- self.assertEqual(_init1.init_counter, 1)
- self.assertEqual(_init1.shutdown_counter, 0)
- self.assertEqual(_init2.init_counter, 1)
- self.assertEqual(_init2.shutdown_counter, 0)
-
- container.shutdown_resources()
- self.assertEqual(_init1.init_counter, 1)
- self.assertEqual(_init1.shutdown_counter, 1)
- self.assertEqual(_init2.init_counter, 1)
- self.assertEqual(_init2.shutdown_counter, 1)
-
- container.init_resources()
- container.shutdown_resources()
- self.assertEqual(_init1.init_counter, 2)
- self.assertEqual(_init1.shutdown_counter, 2)
- self.assertEqual(_init2.init_counter, 2)
- self.assertEqual(_init2.shutdown_counter, 2)
-
- def test_reset_singletons(self):
- class SubSubContainer(containers.DeclarativeContainer):
- singleton = providers.Singleton(object)
-
- class SubContainer(containers.DeclarativeContainer):
- singleton = providers.Singleton(object)
- sub_sub_container = providers.Container(SubSubContainer)
-
- class Container(containers.DeclarativeContainer):
- singleton = providers.Singleton(object)
- sub_container = providers.Container(SubContainer)
-
- container = Container()
-
- obj11 = container.singleton()
- obj12 = container.sub_container().singleton()
- obj13 = container.sub_container().sub_sub_container().singleton()
-
- obj21 = container.singleton()
- obj22 = container.sub_container().singleton()
- obj23 = container.sub_container().sub_sub_container().singleton()
-
- self.assertIs(obj11, obj21)
- self.assertIs(obj12, obj22)
- self.assertIs(obj13, obj23)
-
- container.reset_singletons()
-
- obj31 = container.singleton()
- obj32 = container.sub_container().singleton()
- obj33 = container.sub_container().sub_sub_container().singleton()
-
- obj41 = container.singleton()
- obj42 = container.sub_container().singleton()
- obj43 = container.sub_container().sub_sub_container().singleton()
-
- self.assertIsNot(obj11, obj31)
- self.assertIsNot(obj12, obj32)
- self.assertIsNot(obj13, obj33)
-
- self.assertIsNot(obj21, obj31)
- self.assertIsNot(obj22, obj32)
- self.assertIsNot(obj23, obj33)
-
- self.assertIs(obj31, obj41)
- self.assertIs(obj32, obj42)
- self.assertIs(obj33, obj43)
-
- def test_reset_singletons_context_manager(self):
- class Item:
- def __init__(self, dependency):
- self.dependency = dependency
-
- class Container(containers.DeclarativeContainer):
- dependent = providers.Singleton(object)
- singleton = providers.Singleton(Item, dependency=dependent)
-
- container = Container()
-
- instance1 = container.singleton()
- with container.reset_singletons():
- instance2 = container.singleton()
- instance3 = container.singleton()
-
- self.assertEqual(len({instance1, instance2, instance3}), 3)
- self.assertEqual(
- len({instance1.dependency, instance2.dependency, instance3.dependency}),
- 3,
- )
-
- def test_reset_singletons_context_manager_as_attribute(self):
- container = containers.DeclarativeContainer()
-
- with container.reset_singletons() as alias:
- pass
-
- self.assertIs(container, alias)
-
- def test_check_dependencies(self):
- class SubContainer(containers.DeclarativeContainer):
- dependency = providers.Dependency()
-
- class Container(containers.DeclarativeContainer):
- dependency = providers.Dependency()
- dependencies_container = providers.DependenciesContainer()
- provider = providers.List(dependencies_container.dependency)
- sub_container = providers.Container(SubContainer)
-
- container = Container()
-
- with self.assertRaises(errors.Error) as context:
- container.check_dependencies()
-
- self.assertIn('Container "Container" has undefined dependencies:', str(context.exception))
- self.assertIn('"Container.dependency"', str(context.exception))
- self.assertIn('"Container.dependencies_container.dependency"', str(context.exception))
- self.assertIn('"Container.sub_container.dependency"', str(context.exception))
-
- def test_check_dependencies_all_defined(self):
- class Container(containers.DeclarativeContainer):
- dependency = providers.Dependency()
-
- container = Container(dependency='provided')
- result = container.check_dependencies()
-
- self.assertIsNone(result)
-
- def test_assign_parent(self):
- parent = providers.DependenciesContainer()
- container = ContainerA()
-
- container.assign_parent(parent)
-
- self.assertIs(container.parent, parent)
-
- def test_parent_name_declarative_parent(self):
- container = ContainerA()
- self.assertEqual(container.parent_name, 'ContainerA')
-
- def test_parent_name(self):
- container = ContainerA()
- self.assertEqual(container.parent_name, 'ContainerA')
-
- def test_parent_name_with_deep_parenting(self):
- class Container2(containers.DeclarativeContainer):
-
- name = providers.Container(ContainerA)
-
- class Container1(containers.DeclarativeContainer):
-
- container = providers.Container(Container2)
-
- container = Container1()
- self.assertEqual(container.container().name.parent_name, 'Container1.container.name')
-
- def test_parent_name_is_none(self):
- container = containers.DynamicContainer()
- self.assertIsNone(container.parent_name)
-
- def test_parent_deepcopy(self):
- class Container(containers.DeclarativeContainer):
- container = providers.Container(ContainerA)
-
- container = Container()
-
- copied = providers.deepcopy(container)
-
- self.assertIs(container.container.parent, container)
- self.assertIs(copied.container.parent, copied)
-
- self.assertIsNot(container, copied)
- self.assertIsNot(container.container, copied.container)
- self.assertIsNot(container.container.parent, copied.container.parent)
-
- def test_resolve_provider_name(self):
- container = ContainerA()
- self.assertEqual(container.resolve_provider_name(container.p11), 'p11')
-
- def test_resolve_provider_name_no_provider(self):
- container = ContainerA()
- with self.assertRaises(errors.Error):
- container.resolve_provider_name(providers.Provider())
-
-
-class SelfTests(unittest.TestCase):
-
- def test_self(self):
- def call_bar(container):
- return container.bar()
-
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = providers.Callable(call_bar, __self__)
- bar = providers.Object('hello')
-
- container = Container()
-
- self.assertIs(container.foo(), 'hello')
-
- def test_self_attribute_implicit(self):
- class Container(containers.DeclarativeContainer):
- pass
-
- container = Container()
-
- self.assertIs(container.__self__(), container)
-
- def test_self_attribute_explicit(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
-
- container = Container()
-
- self.assertIs(container.__self__(), container)
-
- def test_single_self(self):
- with self.assertRaises(errors.Error):
- class Container(containers.DeclarativeContainer):
- self1 = providers.Self()
- self2 = providers.Self()
-
- def test_self_attribute_alt_name_implicit(self):
- class Container(containers.DeclarativeContainer):
- foo = providers.Self()
-
- container = Container()
-
- self.assertIs(container.__self__, container.foo)
- self.assertEqual(set(container.__self__.alt_names), {'foo'})
-
- def test_self_attribute_alt_name_explicit_1(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = __self__
- bar = __self__
-
- container = Container()
-
- self.assertIs(container.__self__, container.foo)
- self.assertIs(container.__self__, container.bar)
- self.assertEqual(set(container.__self__.alt_names), {'foo', 'bar'})
-
- def test_self_attribute_alt_name_explicit_2(self):
- class Container(containers.DeclarativeContainer):
- foo = providers.Self()
- bar = foo
-
- container = Container()
-
- self.assertIs(container.__self__, container.foo)
- self.assertIs(container.__self__, container.bar)
- self.assertEqual(set(container.__self__.alt_names), {'foo', 'bar'})
-
- def test_providers_attribute_1(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = __self__
- bar = __self__
-
- container = Container()
-
- self.assertEqual(container.providers, {})
- self.assertEqual(Container.providers, {})
-
- def test_providers_attribute_2(self):
- class Container(containers.DeclarativeContainer):
- foo = providers.Self()
- bar = foo
-
- container = Container()
-
- self.assertEqual(container.providers, {})
- self.assertEqual(Container.providers, {})
-
- def test_container_multiple_instances(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
-
- container1 = Container()
- container2 = Container()
-
- self.assertIsNot(container1, container2)
- self.assertIs(container1.__self__(), container1)
- self.assertIs(container2.__self__(), container2)
-
- def test_deepcopy(self):
- def call_bar(container):
- return container.bar()
-
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = providers.Callable(call_bar, __self__)
- bar = providers.Object('hello')
-
- container1 = Container()
- container2 = providers.deepcopy(container1)
- container1.bar.override('bye')
-
- self.assertIs(container1.foo(), 'bye')
- self.assertIs(container2.foo(), 'hello')
-
- def test_deepcopy_alt_names_1(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = __self__
- bar = foo
-
- container1 = Container()
- container2 = providers.deepcopy(container1)
-
- self.assertIs(container2.__self__(), container2)
- self.assertIs(container2.foo(), container2)
- self.assertIs(container2.bar(), container2)
-
- def test_deepcopy_alt_names_2(self):
- class Container(containers.DeclarativeContainer):
- self = providers.Self()
-
- container1 = Container()
- container2 = providers.deepcopy(container1)
-
- self.assertIs(container2.__self__(), container2)
- self.assertIs(container2.self(), container2)
-
- def test_deepcopy_no_self_dependencies(self):
- class Container(containers.DeclarativeContainer):
- __self__ = providers.Self()
-
- container1 = Container()
- container2 = providers.deepcopy(container1)
-
- self.assertIsNot(container1, container2)
- self.assertIsNot(container1.__self__, container2.__self__)
- self.assertIs(container1.__self__(), container1)
- self.assertIs(container2.__self__(), container2)
-
- def test_with_container_provider(self):
- def call_bar(container):
- return container.bar()
-
- class SubContainer(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = providers.Callable(call_bar, __self__)
- bar = providers.Object('hello')
-
- class Container(containers.DeclarativeContainer):
- sub_container = providers.Container(SubContainer)
-
- baz = providers.Callable(lambda value: value, sub_container.foo)
-
- container = Container()
-
- self.assertIs(container.baz(), 'hello')
-
- def test_with_container_provider_overriding(self):
- def call_bar(container):
- return container.bar()
-
- class SubContainer(containers.DeclarativeContainer):
- __self__ = providers.Self()
- foo = providers.Callable(call_bar, __self__)
- bar = providers.Object('hello')
-
- class Container(containers.DeclarativeContainer):
- sub_container = providers.Container(SubContainer, bar='bye')
-
- baz = providers.Callable(lambda value: value, sub_container.foo)
-
- container = Container()
-
- self.assertIs(container.baz(), 'bye')
-
- def test_with_container_provider_self(self):
- class SubContainer(containers.DeclarativeContainer):
- __self__ = providers.Self()
-
- class Container(containers.DeclarativeContainer):
- sub_container = providers.Container(SubContainer)
-
- container = Container()
-
- self.assertIs(container.__self__(), container)
- self.assertIs(container.sub_container().__self__(), container.sub_container())
-
-
-class DynamicContainerWithCustomStringTests(unittest.TestCase):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/479
-
- class CustomString(str):
- pass
-
- class CustomClass:
- thing = None
-
- def setUp(self):
- self.container = containers.DynamicContainer()
- self.provider = providers.Provider()
-
- def test_setattr(self):
- setattr(self.container, self.CustomString('test_attr'), self.provider)
- self.assertIs(self.container.test_attr, self.provider)
-
- def test_delattr(self):
- setattr(self.container, self.CustomString('test_attr'), self.provider)
- delattr(self.container, self.CustomString('test_attr'))
- with self.assertRaises(AttributeError):
- self.container.test_attr
-
- def test_set_provider(self):
- self.container.set_provider(self.CustomString('test_attr'), self.provider)
- self.assertIs(self.container.test_attr, self.provider)
-
- def test_set_providers(self):
- self.container.set_providers(**{self.CustomString('test_attr'): self.provider})
- self.assertIs(self.container.test_attr, self.provider)
diff --git a/tests/unit/containers/test_traversal_py3.py b/tests/unit/containers/test_traversal_py3.py
index 593ef650..d10d1dff 100644
--- a/tests/unit/containers/test_traversal_py3.py
+++ b/tests/unit/containers/test_traversal_py3.py
@@ -1,93 +1,53 @@
-import unittest
+"""Container traversing tests."""
from dependency_injector import containers, providers
-class TraverseProviderTests(unittest.TestCase):
-
- def test_nested_providers(self):
- class Container(containers.DeclarativeContainer):
- obj_factory = providers.DelegatedFactory(
- dict,
- foo=providers.Resource(
- dict,
- foo='bar'
- ),
- bar=providers.Resource(
- dict,
- foo='bar'
- )
- )
-
- container = Container()
- all_providers = list(container.traverse())
-
- self.assertIn(container.obj_factory, all_providers)
- self.assertIn(container.obj_factory.kwargs['foo'], all_providers)
- self.assertIn(container.obj_factory.kwargs['bar'], all_providers)
- self.assertEqual(len(all_providers), 3)
-
- def test_nested_providers_with_filtering(self):
- class Container(containers.DeclarativeContainer):
- obj_factory = providers.DelegatedFactory(
- dict,
- foo=providers.Resource(
- dict,
- foo='bar'
- ),
- bar=providers.Resource(
- dict,
- foo='bar'
- )
- )
-
- container = Container()
- all_providers = list(container.traverse(types=[providers.Resource]))
-
- self.assertIn(container.obj_factory.kwargs['foo'], all_providers)
- self.assertIn(container.obj_factory.kwargs['bar'], all_providers)
- self.assertEqual(len(all_providers), 2)
+class Container(containers.DeclarativeContainer):
+ obj_factory = providers.DelegatedFactory(
+ dict,
+ foo=providers.Resource(
+ dict,
+ foo="bar"
+ ),
+ bar=providers.Resource(
+ dict,
+ foo="bar"
+ )
+ )
-class TraverseProviderDeclarativeTests(unittest.TestCase):
+def test_nested_providers():
+ container = Container()
+ all_providers = list(container.traverse())
- def test_nested_providers(self):
- class Container(containers.DeclarativeContainer):
- obj_factory = providers.DelegatedFactory(
- dict,
- foo=providers.Resource(
- dict,
- foo='bar'
- ),
- bar=providers.Resource(
- dict,
- foo='bar'
- )
- )
+ assert container.obj_factory in all_providers
+ assert container.obj_factory.kwargs["foo"] in all_providers
+ assert container.obj_factory.kwargs["bar"] in all_providers
+ assert len(all_providers) == 3
- all_providers = list(Container.traverse())
- self.assertIn(Container.obj_factory, all_providers)
- self.assertIn(Container.obj_factory.kwargs['foo'], all_providers)
- self.assertIn(Container.obj_factory.kwargs['bar'], all_providers)
- self.assertEqual(len(all_providers), 3)
+def test_nested_providers_with_filtering():
+ container = Container()
+ all_providers = list(container.traverse(types=[providers.Resource]))
- def test_nested_providers_with_filtering(self):
- class Container(containers.DeclarativeContainer):
- obj_factory = providers.DelegatedFactory(
- dict,
- foo=providers.Resource(
- dict,
- foo='bar'
- ),
- bar=providers.Resource(
- dict,
- foo='bar'
- )
- )
+ assert container.obj_factory.kwargs["foo"] in all_providers
+ assert container.obj_factory.kwargs["bar"] in all_providers
+ assert len(all_providers) == 2
- all_providers = list(Container.traverse(types=[providers.Resource]))
- self.assertIn(Container.obj_factory.kwargs['foo'], all_providers)
- self.assertIn(Container.obj_factory.kwargs['bar'], all_providers)
- self.assertEqual(len(all_providers), 2)
+def test_container_cls_nested_providers():
+ all_providers = list(Container.traverse())
+
+ assert Container.obj_factory in all_providers
+ assert Container.obj_factory.kwargs["foo"] in all_providers
+ assert Container.obj_factory.kwargs["bar"] in all_providers
+ assert len(all_providers) == 3
+
+
+def test_container_cls_nested_providers_with_filtering():
+ all_providers = list(Container.traverse(types=[providers.Resource]))
+
+ assert Container.obj_factory.kwargs["foo"] in all_providers
+ assert Container.obj_factory.kwargs["bar"] in all_providers
+ assert len(all_providers) == 2
diff --git a/tests/unit/containers/test_types_py36.py b/tests/unit/containers/test_types_py36.py
index e55a2b1b..1349157e 100644
--- a/tests/unit/containers/test_types_py36.py
+++ b/tests/unit/containers/test_types_py36.py
@@ -1,18 +1,13 @@
-import unittest
+"""Container typing in runtime tests."""
from dependency_injector import containers
-class SomeClass:
- ...
+def test_types_declarative():
+ container: containers.Container = containers.DeclarativeContainer()
+ assert isinstance(container, containers.Container)
-class TypesTest(unittest.TestCase):
-
- def test_declarative(self):
- container: containers.Container = containers.DeclarativeContainer()
- self.assertIsInstance(container, containers.Container)
-
- def test_dynamic(self):
- container: containers.Container = containers.DynamicContainer()
- self.assertIsInstance(container, containers.Container)
+def test_types_dynamic():
+ container: containers.Container = containers.DynamicContainer()
+ assert isinstance(container, containers.Container)
diff --git a/tests/unit/ext/__init__.py b/tests/unit/ext/__init__.py
index a561a38b..a42e8d0a 100644
--- a/tests/unit/ext/__init__.py
+++ b/tests/unit/ext/__init__.py
@@ -1 +1 @@
-"""Dependency injector extension unit tests."""
+"""Extension tests."""
diff --git a/tests/unit/ext/test_aiohttp_py35.py b/tests/unit/ext/test_aiohttp_py35.py
index 6f7b0205..d4fcfc20 100644
--- a/tests/unit/ext/test_aiohttp_py35.py
+++ b/tests/unit/ext/test_aiohttp_py35.py
@@ -1,29 +1,28 @@
-"""Dependency injector Aiohttp extension unit tests."""
-
-from aiohttp import web
-from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
+"""Aiohttp extension tests."""
+from aiohttp import web, test_utils
from dependency_injector import containers, providers
from dependency_injector.ext import aiohttp
+from pytest import fixture, mark
-async def index(_):
- return web.Response(text='Hello World!')
+async def index_view(_):
+ return web.Response(text="Hello World!")
-async def test(_):
- return web.Response(text='Test!')
+async def second_view(_):
+ return web.Response(text="Test!")
-class Test(web.View):
+class OtherClassBasedView(web.View):
async def get(self):
- return web.Response(text='Test class-based!')
+ return web.Response(text="Test class-based!")
@web.middleware
async def middleware(request, handler):
resp = await handler(request)
- resp.text = resp.text + ' wink1'
+ resp.text = resp.text + " wink1"
return resp
@@ -42,52 +41,60 @@ class ApplicationContainer(containers.DeclarativeContainer):
web.Application,
middlewares=providers.List(
aiohttp.Middleware(middleware),
- aiohttp.MiddlewareFactory(middleware_factory, text=' wink2'),
+ aiohttp.MiddlewareFactory(middleware_factory, text=" wink2"),
),
)
- index_view = aiohttp.View(index)
- test_view = aiohttp.View(test)
- test_class_view = aiohttp.ClassBasedView(Test)
+ index_view = aiohttp.View(index_view)
+ second_view = aiohttp.View(second_view)
+ other_class_based_view = aiohttp.ClassBasedView(OtherClassBasedView)
-class ApplicationTests(AioHTTPTestCase):
+@fixture
+def app():
+ container = ApplicationContainer()
+ app = container.app()
+ app.container = container
+ app.add_routes([
+ web.get("/", container.index_view.as_view()),
+ web.get("/second", container.second_view.as_view(), name="second"),
+ web.get("/class-based", container.other_class_based_view.as_view()),
+ ])
+ return app
- async def get_application(self):
- """
- Override the get_app method to return your application.
- """
- container = ApplicationContainer()
- app = container.app()
- app.container = container
- app.add_routes([
- web.get('/', container.index_view.as_view()),
- web.get('/test', container.test_view.as_view(), name='test'),
- web.get('/test-class', container.test_class_view.as_view()),
- ])
- return app
- @unittest_run_loop
- async def test_index(self):
- response = await self.client.get('/')
+@fixture
+async def client(app):
+ async with test_utils.TestClient(test_utils.TestServer(app)) as client:
+ yield client
- self.assertEqual(response.status, 200)
- self.assertEqual(await response.text(), 'Hello World! wink2 wink1')
- @unittest_run_loop
- async def test_test(self):
- response = await self.client.get('/test')
+@mark.asyncio
+@mark.filterwarnings("ignore:The loop argument is deprecated:DeprecationWarning")
+async def test_index(client):
+ response = await client.get("/")
- self.assertEqual(response.status, 200)
- self.assertEqual(await response.text(), 'Test! wink2 wink1')
+ assert response.status == 200
+ assert await response.text() == "Hello World! wink2 wink1"
- @unittest_run_loop
- async def test_test_class_based(self):
- response = await self.client.get('/test-class')
- self.assertEqual(response.status, 200)
- self.assertEqual(await response.text(), 'Test class-based! wink2 wink1')
+@mark.asyncio
+@mark.filterwarnings("ignore:The loop argument is deprecated:DeprecationWarning")
+async def test_second(client):
+ response = await client.get("/second")
- @unittest_run_loop
- async def test_endpoints(self):
- self.assertEqual(str(self.app.router['test'].url_for()), '/test')
+ assert response.status == 200
+ assert await response.text() == "Test! wink2 wink1"
+
+
+@mark.asyncio
+@mark.filterwarnings("ignore:The loop argument is deprecated:DeprecationWarning")
+async def test_class_based(client):
+ response = await client.get("/class-based")
+
+ assert response.status == 200
+ assert await response.text() == "Test class-based! wink2 wink1"
+
+
+def test_endpoints(app):
+ assert str(app.router["second"].url_for()) == "/second"
diff --git a/tests/unit/ext/test_flask_py2_py3.py b/tests/unit/ext/test_flask_py2_py3.py
index fcd1c526..e64de165 100644
--- a/tests/unit/ext/test_flask_py2_py3.py
+++ b/tests/unit/ext/test_flask_py2_py3.py
@@ -1,24 +1,23 @@
-"""Dependency injector Flask extension unit tests."""
-
-import unittest
-from flask import Flask, url_for
-from flask.views import MethodView
+"""Flask extension tests."""
from dependency_injector import containers
from dependency_injector.ext import flask
+from flask import Flask, url_for
+from flask.views import MethodView
+from pytest import fixture
def index():
- return 'Hello World!'
+ return "Hello World!"
def test():
- return 'Test!'
+ return "Test!"
class Test(MethodView):
def get(self):
- return 'Test class-based!'
+ return "Test class-based!"
class ApplicationContainer(containers.DeclarativeContainer):
@@ -30,47 +29,47 @@ class ApplicationContainer(containers.DeclarativeContainer):
test_class_view = flask.ClassBasedView(Test)
-def create_app():
+@fixture
+def app():
container = ApplicationContainer()
app = container.app()
app.container = container
- app.add_url_rule('/', view_func=container.index_view.as_view())
- app.add_url_rule('/test', 'test-test', view_func=container.test_view.as_view())
- app.add_url_rule('/test-class', view_func=container.test_class_view.as_view('test-class'))
+ app.config["SERVER_NAME"] = "test-server.com"
+ app.add_url_rule("/", view_func=container.index_view.as_view())
+ app.add_url_rule("/test", "test-test", view_func=container.test_view.as_view())
+ app.add_url_rule("/test-class", view_func=container.test_class_view.as_view("test-class"))
return app
-class ApplicationTests(unittest.TestCase):
+@fixture
+def client(app):
+ with app.test_client() as client:
+ yield client
- def setUp(self):
- self.app = create_app()
- self.app.config['SERVER_NAME'] = 'test-server.com'
- self.client = self.app.test_client()
- self.client.__enter__()
- def tearDown(self):
- self.client.__exit__(None, None, None)
+def test_index(client):
+ response = client.get("/")
- def test_index(self):
- response = self.client.get('/')
+ assert response.status_code == 200
+ assert response.data == b"Hello World!"
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.data, b'Hello World!')
- def test_test(self):
- response = self.client.get('/test')
+def test_test(client):
+ response = client.get("/test")
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.data, b'Test!')
+ assert response.status_code == 200
+ assert response.data == b"Test!"
- def test_test_class_based(self):
- response = self.client.get('/test-class')
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.data, b'Test class-based!')
+def test_test_class_based(client):
+ response = client.get("/test-class")
- def test_endpoints(self):
- with self.app.app_context():
- self.assertEqual(url_for('index'), 'http://test-server.com/')
- self.assertEqual(url_for('test-test'), 'http://test-server.com/test')
- self.assertEqual(url_for('test-class'), 'http://test-server.com/test-class')
+ assert response.status_code == 200
+ assert response.data == b"Test class-based!"
+
+
+def test_endpoints(app):
+ with app.app_context():
+ assert url_for("index") == "http://test-server.com/"
+ assert url_for("test-test") == "http://test-server.com/test"
+ assert url_for("test-class") == "http://test-server.com/test-class"
diff --git a/tests/unit/providers/__init__.py b/tests/unit/providers/__init__.py
index 5ee4b909..7e9190ff 100644
--- a/tests/unit/providers/__init__.py
+++ b/tests/unit/providers/__init__.py
@@ -1 +1 @@
-"""Dependency injector providers unit tests."""
+"""Providers tests."""
diff --git a/tests/unit/providers/async/__init__.py b/tests/unit/providers/async/__init__.py
new file mode 100644
index 00000000..8b3ee44e
--- /dev/null
+++ b/tests/unit/providers/async/__init__.py
@@ -0,0 +1 @@
+"""Provider asynchronous mode tests."""
diff --git a/tests/unit/providers/async/common.py b/tests/unit/providers/async/common.py
new file mode 100644
index 00000000..ddea3e79
--- /dev/null
+++ b/tests/unit/providers/async/common.py
@@ -0,0 +1,45 @@
+"""Common test artifacts."""
+
+import asyncio
+import random
+
+from dependency_injector import containers, providers
+
+
+RESOURCE1 = object()
+RESOURCE2 = object()
+
+
+async def init_resource(resource):
+ await asyncio.sleep(random.randint(1, 10) / 1000)
+ yield resource
+ await asyncio.sleep(random.randint(1, 10) / 1000)
+
+
+class Client:
+ def __init__(self, resource1: object, resource2: object) -> None:
+ self.resource1 = resource1
+ self.resource2 = resource2
+
+
+class Service:
+ def __init__(self, client: Client) -> None:
+ self.client = client
+
+
+class BaseContainer(containers.DeclarativeContainer):
+ resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
+
+
+class Container(BaseContainer):
+ client = providers.Factory(
+ Client,
+ resource1=BaseContainer.resource1,
+ resource2=BaseContainer.resource2,
+ )
+
+ service = providers.Factory(
+ Service,
+ client=client,
+ )
diff --git a/tests/unit/providers/async/test_async_mode_api_py36.py b/tests/unit/providers/async/test_async_mode_api_py36.py
new file mode 100644
index 00000000..bfc12723
--- /dev/null
+++ b/tests/unit/providers/async/test_async_mode_api_py36.py
@@ -0,0 +1,45 @@
+"""Tests for provider async mode API."""
+
+from dependency_injector import providers
+from pytest import fixture
+
+
+@fixture
+def provider():
+ return providers.Provider()
+
+
+def test_default_mode(provider: providers.Provider):
+ assert provider.is_async_mode_enabled() is False
+ assert provider.is_async_mode_disabled() is False
+ assert provider.is_async_mode_undefined() is True
+
+
+def test_enable(provider: providers.Provider):
+ provider.enable_async_mode()
+
+ assert provider.is_async_mode_enabled() is True
+ assert provider.is_async_mode_disabled() is False
+ assert provider.is_async_mode_undefined() is False
+
+
+def test_disable(provider: providers.Provider):
+ provider.disable_async_mode()
+
+ assert provider.is_async_mode_enabled() is False
+ assert provider.is_async_mode_disabled() is True
+ assert provider.is_async_mode_undefined() is False
+
+
+def test_reset(provider: providers.Provider):
+ provider.enable_async_mode()
+
+ assert provider.is_async_mode_enabled() is True
+ assert provider.is_async_mode_disabled() is False
+ assert provider.is_async_mode_undefined() is False
+
+ provider.reset_async_mode()
+
+ assert provider.is_async_mode_enabled() is False
+ assert provider.is_async_mode_disabled() is False
+ assert provider.is_async_mode_undefined() is True
diff --git a/tests/unit/providers/async/test_delegated_singleton_py36.py b/tests/unit/providers/async/test_delegated_singleton_py36.py
new file mode 100644
index 00000000..ebfbd772
--- /dev/null
+++ b/tests/unit/providers/async/test_delegated_singleton_py36.py
@@ -0,0 +1,38 @@
+"""DelegatedSingleton provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.DelegatedSingleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ return object()
+
+ provider = providers.DelegatedSingleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+
+ assert instance1 is instance2
diff --git a/tests/unit/providers/async/test_delegated_thread_local_singleton_py36.py b/tests/unit/providers/async/test_delegated_thread_local_singleton_py36.py
new file mode 100644
index 00000000..5f5e9423
--- /dev/null
+++ b/tests/unit/providers/async/test_delegated_thread_local_singleton_py36.py
@@ -0,0 +1,38 @@
+"""DelegatedThreadLocalSingleton provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.DelegatedThreadLocalSingleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ return object()
+
+ provider = providers.DelegatedThreadLocalSingleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+
+ assert instance1 is instance2
diff --git a/tests/unit/providers/async/test_delegated_thread_safe_singleton_py36.py b/tests/unit/providers/async/test_delegated_thread_safe_singleton_py36.py
new file mode 100644
index 00000000..046ce951
--- /dev/null
+++ b/tests/unit/providers/async/test_delegated_thread_safe_singleton_py36.py
@@ -0,0 +1,38 @@
+"""DelegatedThreadSafeSingleton provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.DelegatedThreadSafeSingleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ return object()
+
+ provider = providers.DelegatedThreadSafeSingleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+
+ assert instance1 is instance2
diff --git a/tests/unit/providers/async/test_dependency_py36.py b/tests/unit/providers/async/test_dependency_py36.py
new file mode 100644
index 00000000..b42d3a97
--- /dev/null
+++ b/tests/unit/providers/async/test_dependency_py36.py
@@ -0,0 +1,88 @@
+"""Dependency provider async mode tests."""
+
+from dependency_injector import providers, errors
+from pytest import mark, raises
+
+
+@mark.asyncio
+async def test_provide_error():
+ async def get_async():
+ raise Exception
+
+ provider = providers.Dependency()
+ provider.override(providers.Callable(get_async))
+
+ with raises(Exception):
+ await provider()
+
+
+@mark.asyncio
+async def test_isinstance():
+ dependency = 1.0
+
+ async def get_async():
+ return dependency
+
+ provider = providers.Dependency(instance_of=float)
+ provider.override(providers.Callable(get_async))
+
+ assert provider.is_async_mode_undefined() is True
+
+ dependency1 = await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+ dependency2 = await provider()
+
+ assert dependency1 == dependency
+ assert dependency2 == dependency
+
+
+@mark.asyncio
+async def test_isinstance_invalid():
+ async def get_async():
+ return {}
+
+ provider = providers.Dependency(instance_of=float)
+ provider.override(providers.Callable(get_async))
+
+ assert provider.is_async_mode_undefined() is True
+
+ with raises(errors.Error):
+ await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+
+@mark.asyncio
+async def test_async_mode():
+ dependency = 123
+
+ async def get_async():
+ return dependency
+
+ def get_sync():
+ return dependency
+
+ provider = providers.Dependency(instance_of=int)
+ provider.override(providers.Factory(get_async))
+
+ assert provider.is_async_mode_undefined() is True
+
+ dependency1 = await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+ dependency2 = await provider()
+ assert dependency1 == dependency
+ assert dependency2 == dependency
+
+ provider.override(providers.Factory(get_sync))
+
+ dependency3 = await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+ dependency4 = await provider()
+ assert dependency3 == dependency
+ assert dependency4 == dependency
diff --git a/tests/unit/providers/async/test_dict_py36.py b/tests/unit/providers/async/test_dict_py36.py
new file mode 100644
index 00000000..132df56c
--- /dev/null
+++ b/tests/unit/providers/async/test_dict_py36.py
@@ -0,0 +1,23 @@
+"""Dict provider async mode tests."""
+
+from dependency_injector import containers, providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_provide():
+ async def create_resource(param: str):
+ return param
+
+ class Container(containers.DeclarativeContainer):
+
+ resources = providers.Dict(
+ foo=providers.Resource(create_resource, "foo"),
+ bar=providers.Resource(create_resource, "bar")
+ )
+
+ container = Container()
+ resources = await container.resources()
+
+ assert resources["foo"] == "foo"
+ assert resources["bar"] == "bar"
diff --git a/tests/unit/providers/async/test_factory_aggregate_py36.py b/tests/unit/providers/async/test_factory_aggregate_py36.py
new file mode 100644
index 00000000..ace7ffdf
--- /dev/null
+++ b/tests/unit/providers/async/test_factory_aggregate_py36.py
@@ -0,0 +1,30 @@
+"""FactoryAggregate provider async mode tests."""
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_async_mode():
+ object1 = object()
+ object2 = object()
+
+ async def _get_object1():
+ return object1
+
+ def _get_object2():
+ return object2
+
+ provider = providers.FactoryAggregate(
+ object1=providers.Factory(_get_object1),
+ object2=providers.Factory(_get_object2),
+ )
+
+ assert provider.is_async_mode_undefined() is True
+
+ created_object1 = await provider("object1")
+ assert created_object1 is object1
+ assert provider.is_async_mode_enabled() is True
+
+ created_object2 = await provider("object2")
+ assert created_object2 is object2
diff --git a/tests/unit/providers/async/test_factory_py36.py b/tests/unit/providers/async/test_factory_py36.py
new file mode 100644
index 00000000..98ba2c83
--- /dev/null
+++ b/tests/unit/providers/async/test_factory_py36.py
@@ -0,0 +1,423 @@
+"""Factory provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import containers, providers
+from pytest import mark, raises
+
+from .common import RESOURCE1, RESOURCE2, Client, Service, BaseContainer, Container, init_resource
+
+
+@mark.asyncio
+async def test_args_injection():
+ class ContainerWithArgs(BaseContainer):
+ client = providers.Factory(
+ Client,
+ BaseContainer.resource1,
+ BaseContainer.resource2,
+ )
+
+ service = providers.Factory(
+ Service,
+ client,
+ )
+
+ container = ContainerWithArgs()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
+
+
+@mark.asyncio
+async def test_kwargs_injection():
+ class ContainerWithKwArgs(Container):
+ ...
+
+ container = ContainerWithKwArgs()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
+
+
+@mark.asyncio
+async def test_context_kwargs_injection():
+ resource2_extra = object()
+
+ container = Container()
+
+ client1 = await container.client(resource2=resource2_extra)
+ client2 = await container.client(resource2=resource2_extra)
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is resource2_extra
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is resource2_extra
+
+
+@mark.asyncio
+async def test_args_kwargs_injection():
+ class ContainerWithArgsAndKwArgs(BaseContainer):
+ client = providers.Factory(
+ Client,
+ BaseContainer.resource1,
+ resource2=BaseContainer.resource2,
+ )
+
+ service = providers.Factory(
+ Service,
+ client=client,
+ )
+
+ container = ContainerWithArgsAndKwArgs()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
+
+
+@mark.asyncio
+async def test_async_provider_with_async_injections():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/368
+ async def async_client_provider():
+ return {"client": "OK"}
+
+ async def async_service(client):
+ return {"service": "OK", "client": client}
+
+ class Container(containers.DeclarativeContainer):
+ client = providers.Factory(async_client_provider)
+ service = providers.Factory(async_service, client=client)
+
+ container = Container()
+ service = await container.service()
+
+ assert service == {"service": "OK", "client": {"client": "OK"}}
+
+
+@mark.asyncio
+async def test_with_awaitable_injection():
+ class SomeResource:
+ def __await__(self):
+ raise RuntimeError("Should never happen")
+
+ async def init_resource():
+ yield SomeResource()
+
+ class Service:
+ def __init__(self, resource) -> None:
+ self.resource = resource
+
+ class Container(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource)
+ service = providers.Factory(Service, resource=resource)
+
+ container = Container()
+
+ assert isinstance(container.service(), asyncio.Future)
+ assert isinstance(container.resource(), asyncio.Future)
+
+ resource = await container.resource()
+ service = await container.service()
+
+ assert isinstance(resource, SomeResource)
+ assert isinstance(service.resource, SomeResource)
+ assert service.resource is resource
+
+
+@mark.asyncio
+async def test_with_awaitable_injection_and_with_init_resources_call():
+ class SomeResource:
+ def __await__(self):
+ raise RuntimeError("Should never happen")
+
+ async def init_resource():
+ yield SomeResource()
+
+ class Service:
+ def __init__(self, resource) -> None:
+ self.resource = resource
+
+ class Container(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource)
+ service = providers.Factory(Service, resource=resource)
+
+ container = Container()
+
+ await container.init_resources()
+ assert isinstance(container.service(), asyncio.Future)
+ assert isinstance(container.resource(), asyncio.Future)
+
+ resource = await container.resource()
+ service = await container.service()
+
+ assert isinstance(resource, SomeResource)
+ assert isinstance(service.resource, SomeResource)
+ assert service.resource is resource
+
+
+@mark.asyncio
+async def test_injection_error():
+ async def init_resource():
+ raise Exception("Something went wrong")
+
+ class Container(containers.DeclarativeContainer):
+ resource_with_error = providers.Resource(init_resource)
+
+ client = providers.Factory(
+ Client,
+ resource1=resource_with_error,
+ resource2=None,
+ )
+
+ container = Container()
+
+ with raises(Exception, match="Something went wrong"):
+ await container.client()
+
+
+@mark.asyncio
+async def test_injection_runtime_error_async_provides():
+ async def create_client(*args, **kwargs):
+ raise Exception("Something went wrong")
+
+ class Container(BaseContainer):
+ client = providers.Factory(
+ create_client,
+ resource1=BaseContainer.resource1,
+ resource2=None,
+ )
+
+ container = Container()
+
+ with raises(Exception, match="Something went wrong"):
+ await container.client()
+
+
+@mark.asyncio
+async def test_injection_call_error_async_provides():
+ async def create_client(): # <-- no args defined
+ ...
+
+ class Container(BaseContainer):
+ client = providers.Factory(
+ create_client,
+ resource1=BaseContainer.resource1,
+ resource2=None,
+ )
+
+ container = Container()
+
+ with raises(TypeError) as exception_info:
+ await container.client()
+ assert "create_client() got" in str(exception_info.value)
+ assert "unexpected keyword argument" in str(exception_info.value)
+
+
+@mark.asyncio
+async def test_attributes_injection():
+ class ContainerWithAttributes(BaseContainer):
+ client = providers.Factory(
+ Client,
+ BaseContainer.resource1,
+ resource2=None,
+ )
+ client.add_attributes(resource2=BaseContainer.resource2)
+
+ service = providers.Factory(
+ Service,
+ client=None,
+ )
+ service.add_attributes(client=client)
+
+ container = ContainerWithAttributes()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
+
+
+@mark.asyncio
+async def test_attributes_injection_attribute_error():
+ class ClientWithException(Client):
+ @property
+ def attribute_set_error(self):
+ return None
+
+ @attribute_set_error.setter
+ def attribute_set_error(self, value):
+ raise Exception("Something went wrong")
+
+ class Container(BaseContainer):
+ client = providers.Factory(
+ ClientWithException,
+ resource1=BaseContainer.resource1,
+ resource2=BaseContainer.resource2,
+ )
+ client.add_attributes(attribute_set_error=123)
+
+ container = Container()
+
+ with raises(Exception, match="Something went wrong"):
+ await container.client()
+
+
+@mark.asyncio
+async def test_attributes_injection_runtime_error():
+ async def init_resource():
+ raise Exception("Something went wrong")
+
+ class Container(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource)
+
+ client = providers.Factory(
+ Client,
+ resource1=None,
+ resource2=None,
+ )
+ client.add_attributes(resource1=resource)
+ client.add_attributes(resource2=resource)
+
+ container = Container()
+
+ with raises(Exception, match="Something went wrong"):
+ await container.client()
+
+
+@mark.asyncio
+async def test_async_instance_and_sync_attributes_injection():
+ class ContainerWithAttributes(BaseContainer):
+ resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
+
+ client = providers.Factory(
+ Client,
+ BaseContainer.resource1,
+ resource2=None,
+ )
+ client.add_attributes(resource2=providers.Object(RESOURCE2))
+
+ service = providers.Factory(
+ Service,
+ client=None,
+ )
+ service.add_attributes(client=client)
+
+ container = ContainerWithAttributes()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
diff --git a/tests/unit/providers/async/test_list_py36.py b/tests/unit/providers/async/test_list_py36.py
new file mode 100644
index 00000000..5f0162f8
--- /dev/null
+++ b/tests/unit/providers/async/test_list_py36.py
@@ -0,0 +1,24 @@
+"""List provider async mode tests."""
+
+from dependency_injector import containers, providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_provide():
+ # See issue: https://github.com/ets-labs/python-dependency-injector/issues/450
+ async def create_resource(param: str):
+ return param
+
+ class Container(containers.DeclarativeContainer):
+
+ resources = providers.List(
+ providers.Resource(create_resource, "foo"),
+ providers.Resource(create_resource, "bar")
+ )
+
+ container = Container()
+ resources = await container.resources()
+
+ assert resources[0] == "foo"
+ assert resources[1] == "bar"
diff --git a/tests/unit/providers/async/test_override_py36.py b/tests/unit/providers/async/test_override_py36.py
new file mode 100644
index 00000000..6e76ac3b
--- /dev/null
+++ b/tests/unit/providers/async/test_override_py36.py
@@ -0,0 +1,127 @@
+"""Tests for provider overriding in async mode."""
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_provider():
+ dependency = object()
+
+ async def _get_dependency_async():
+ return dependency
+
+ def _get_dependency_sync():
+ return dependency
+
+ provider = providers.Provider()
+
+ provider.override(providers.Callable(_get_dependency_async))
+ dependency1 = await provider()
+
+ provider.override(providers.Callable(_get_dependency_sync))
+ dependency2 = await provider()
+
+ assert dependency1 is dependency
+ assert dependency2 is dependency
+
+
+@mark.asyncio
+async def test_callable():
+ dependency = object()
+
+ async def _get_dependency_async():
+ return dependency
+
+ def _get_dependency_sync():
+ return dependency
+
+ provider = providers.Callable(_get_dependency_async)
+ dependency1 = await provider()
+
+ provider.override(providers.Callable(_get_dependency_sync))
+ dependency2 = await provider()
+
+ assert dependency1 is dependency
+ assert dependency2 is dependency
+
+
+@mark.asyncio
+async def test_factory():
+ dependency = object()
+
+ async def _get_dependency_async():
+ return dependency
+
+ def _get_dependency_sync():
+ return dependency
+
+ provider = providers.Factory(_get_dependency_async)
+ dependency1 = await provider()
+
+ provider.override(providers.Callable(_get_dependency_sync))
+ dependency2 = await provider()
+
+ assert dependency1 is dependency
+ assert dependency2 is dependency
+
+
+@mark.asyncio
+async def test_async_mode_enabling():
+ dependency = object()
+
+ async def _get_dependency_async():
+ return dependency
+
+ provider = providers.Callable(_get_dependency_async)
+ assert provider.is_async_mode_undefined() is True
+
+ await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+
+@mark.asyncio
+async def test_async_mode_disabling():
+ dependency = object()
+
+ def _get_dependency():
+ return dependency
+
+ provider = providers.Callable(_get_dependency)
+ assert provider.is_async_mode_undefined() is True
+
+ provider()
+
+ assert provider.is_async_mode_disabled() is True
+
+
+@mark.asyncio
+async def test_async_mode_enabling_on_overriding():
+ dependency = object()
+
+ async def _get_dependency_async():
+ return dependency
+
+ provider = providers.Provider()
+ provider.override(providers.Callable(_get_dependency_async))
+ assert provider.is_async_mode_undefined() is True
+
+ await provider()
+
+ assert provider.is_async_mode_enabled() is True
+
+
+def test_async_mode_disabling_on_overriding():
+ dependency = object()
+
+ def _get_dependency():
+ return dependency
+
+ provider = providers.Provider()
+ provider.override(providers.Callable(_get_dependency))
+ assert provider.is_async_mode_undefined() is True
+
+ provider()
+
+ assert provider.is_async_mode_disabled() is True
diff --git a/tests/unit/providers/async/test_provided_instance_py36.py b/tests/unit/providers/async/test_provided_instance_py36.py
new file mode 100644
index 00000000..faea4132
--- /dev/null
+++ b/tests/unit/providers/async/test_provided_instance_py36.py
@@ -0,0 +1,180 @@
+"""ProvidedInstance provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import containers, providers
+from pytest import mark, raises
+
+from .common import RESOURCE1, init_resource
+
+
+@mark.asyncio
+async def test_provided_attribute():
+ class TestClient:
+ def __init__(self, resource):
+ self.resource = resource
+
+ class TestService:
+ def __init__(self, resource):
+ self.resource = resource
+
+ class TestContainer(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ client = providers.Factory(TestClient, resource=resource)
+ service = providers.Factory(TestService, resource=client.provided.resource)
+
+ container = TestContainer()
+
+ instance1, instance2 = await asyncio.gather(
+ container.service(),
+ container.service(),
+ )
+
+ assert instance1.resource is RESOURCE1
+ assert instance2.resource is RESOURCE1
+ assert instance1.resource is instance2.resource
+
+
+@mark.asyncio
+async def test_provided_attribute_error():
+ async def raise_exception():
+ raise RuntimeError()
+
+ class TestContainer(containers.DeclarativeContainer):
+ client = providers.Factory(raise_exception)
+
+ container = TestContainer()
+
+ with raises(RuntimeError):
+ await container.client.provided.attr()
+
+
+@mark.asyncio
+async def test_provided_attribute_undefined_attribute():
+ class TestClient:
+ def __init__(self, resource):
+ self.resource = resource
+
+ class TestContainer(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ client = providers.Factory(TestClient, resource=resource)
+
+ container = TestContainer()
+
+ with raises(AttributeError):
+ await container.client.provided.attr()
+
+
+@mark.asyncio
+async def test_provided_item():
+ class TestClient:
+ def __init__(self, resource):
+ self.resource = resource
+
+ def __getitem__(self, item):
+ return getattr(self, item)
+
+ class TestService:
+ def __init__(self, resource):
+ self.resource = resource
+
+ class TestContainer(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ client = providers.Factory(TestClient, resource=resource)
+ service = providers.Factory(TestService, resource=client.provided["resource"])
+
+ container = TestContainer()
+
+ instance1, instance2 = await asyncio.gather(
+ container.service(),
+ container.service(),
+ )
+
+ assert instance1.resource is RESOURCE1
+ assert instance2.resource is RESOURCE1
+ assert instance1.resource is instance2.resource
+
+
+@mark.asyncio
+async def test_provided_item_error():
+ async def raise_exception():
+ raise RuntimeError()
+
+ class TestContainer(containers.DeclarativeContainer):
+ client = providers.Factory(raise_exception)
+
+ container = TestContainer()
+
+ with raises(RuntimeError):
+ await container.client.provided["item"]()
+
+
+@mark.asyncio
+async def test_provided_item_undefined_item():
+ class TestContainer(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ client = providers.Factory(dict, resource=resource)
+
+ container = TestContainer()
+
+ with raises(KeyError):
+ await container.client.provided["item"]()
+
+
+@mark.asyncio
+async def test_provided_method_call():
+ class TestClient:
+ def __init__(self, resource):
+ self.resource = resource
+
+ def get_resource(self):
+ return self.resource
+
+ class TestService:
+ def __init__(self, resource):
+ self.resource = resource
+
+ class TestContainer(containers.DeclarativeContainer):
+ resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
+ client = providers.Factory(TestClient, resource=resource)
+ service = providers.Factory(TestService, resource=client.provided.get_resource.call())
+
+ container = TestContainer()
+
+ instance1, instance2 = await asyncio.gather(
+ container.service(),
+ container.service(),
+ )
+
+ assert instance1.resource is RESOURCE1
+ assert instance2.resource is RESOURCE1
+ assert instance1.resource is instance2.resource
+
+
+@mark.asyncio
+async def test_provided_method_call_parent_error():
+ async def raise_exception():
+ raise RuntimeError()
+
+ class TestContainer(containers.DeclarativeContainer):
+ client = providers.Factory(raise_exception)
+
+ container = TestContainer()
+
+ with raises(RuntimeError):
+ await container.client.provided.method.call()()
+
+
+@mark.asyncio
+async def test_provided_method_call_error():
+ class TestClient:
+ def method(self):
+ raise RuntimeError()
+
+ class TestContainer(containers.DeclarativeContainer):
+ client = providers.Factory(TestClient)
+
+ container = TestContainer()
+
+ with raises(RuntimeError):
+ await container.client.provided.method.call()()
diff --git a/tests/unit/providers/async/test_singleton_py36.py b/tests/unit/providers/async/test_singleton_py36.py
new file mode 100644
index 00000000..f1621bf5
--- /dev/null
+++ b/tests/unit/providers/async/test_singleton_py36.py
@@ -0,0 +1,117 @@
+"""Singleton provider async mode tests."""
+
+import asyncio
+import random
+
+from dependency_injector import providers
+from pytest import mark, raises
+
+from .common import RESOURCE1, RESOURCE2, BaseContainer, Client, Service
+
+
+@mark.asyncio
+async def test_injections():
+ class ContainerWithSingletons(BaseContainer):
+ client = providers.Singleton(
+ Client,
+ resource1=BaseContainer.resource1,
+ resource2=BaseContainer.resource2,
+ )
+
+ service = providers.Singleton(
+ Service,
+ client=client,
+ )
+
+ container = ContainerWithSingletons()
+
+ client1 = await container.client()
+ client2 = await container.client()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service()
+ service2 = await container.service()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1 is service2
+ assert service1.client is service2.client
+ assert service1.client is client1
+
+ assert service2.client is client2
+ assert client1 is client2
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.Singleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ await asyncio.sleep(random.randint(1, 10) / 1000)
+ return object()
+
+ provider = providers.Singleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+ instance3 = await provider()
+
+ assert instance1 is instance2 is instance3
+
+
+@mark.asyncio
+async def test_async_init_with_error():
+ async def create_instance():
+ create_instance.counter += 1
+ raise RuntimeError()
+
+ create_instance.counter = 0
+
+ provider = providers.Singleton(create_instance)
+
+ future = provider()
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await future
+
+ assert create_instance.counter == 1
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await provider()
+
+ assert create_instance.counter == 2
+ assert provider.is_async_mode_enabled() is True
diff --git a/tests/unit/providers/async/test_thread_local_singleton_py36.py b/tests/unit/providers/async/test_thread_local_singleton_py36.py
new file mode 100644
index 00000000..bf8ec3b3
--- /dev/null
+++ b/tests/unit/providers/async/test_thread_local_singleton_py36.py
@@ -0,0 +1,63 @@
+"""ThreadLocalSingleton provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import providers
+from pytest import mark, raises
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.ThreadLocalSingleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ return object()
+
+ provider = providers.ThreadLocalSingleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+
+ assert instance1 is instance2
+
+
+@mark.asyncio
+async def test_async_init_with_error():
+ async def create_instance():
+ create_instance.counter += 1
+ raise RuntimeError()
+ create_instance.counter = 0
+
+ provider = providers.ThreadLocalSingleton(create_instance)
+
+ future = provider()
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await future
+
+ assert create_instance.counter == 1
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await provider()
+
+ assert create_instance.counter == 2
+ assert provider.is_async_mode_enabled() is True
diff --git a/tests/unit/providers/async/test_thread_safe_singleton_py36.py b/tests/unit/providers/async/test_thread_safe_singleton_py36.py
new file mode 100644
index 00000000..13654150
--- /dev/null
+++ b/tests/unit/providers/async/test_thread_safe_singleton_py36.py
@@ -0,0 +1,38 @@
+"""ThreadSafeSingleton provider async mode tests."""
+
+import asyncio
+
+from dependency_injector import providers
+from pytest import mark
+
+
+@mark.asyncio
+async def test_async_mode():
+ instance = object()
+
+ async def create_instance():
+ return instance
+
+ provider = providers.ThreadSafeSingleton(create_instance)
+
+ instance1 = await provider()
+ instance2 = await provider()
+
+ assert instance1 is instance2
+ assert instance1 is instance
+ assert instance2 is instance
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ async def create_instance():
+ return object()
+
+ provider = providers.ThreadSafeSingleton(create_instance)
+
+ future_instance1 = provider()
+ future_instance2 = provider()
+
+ instance1, instance2 = await asyncio.gather(future_instance1, future_instance2)
+
+ assert instance1 is instance2
diff --git a/tests/unit/providers/async/test_typing_stubs_py36.py b/tests/unit/providers/async/test_typing_stubs_py36.py
new file mode 100644
index 00000000..c7214d2d
--- /dev/null
+++ b/tests/unit/providers/async/test_typing_stubs_py36.py
@@ -0,0 +1,36 @@
+"""Tests for provide async mode typing stubs."""
+
+from pytest import mark
+
+from .common import Container, Client, Service, RESOURCE1, RESOURCE2
+
+
+@mark.asyncio
+async def test_async_():
+ container = Container()
+
+ client1 = await container.client.async_()
+ client2 = await container.client.async_()
+
+ assert isinstance(client1, Client)
+ assert client1.resource1 is RESOURCE1
+ assert client1.resource2 is RESOURCE2
+
+ assert isinstance(client2, Client)
+ assert client2.resource1 is RESOURCE1
+ assert client2.resource2 is RESOURCE2
+
+ service1 = await container.service.async_()
+ service2 = await container.service.async_()
+
+ assert isinstance(service1, Service)
+ assert isinstance(service1.client, Client)
+ assert service1.client.resource1 is RESOURCE1
+ assert service1.client.resource2 is RESOURCE2
+
+ assert isinstance(service2, Service)
+ assert isinstance(service2.client, Client)
+ assert service2.client.resource1 is RESOURCE1
+ assert service2.client.resource2 is RESOURCE2
+
+ assert service1.client is not service2.client
diff --git a/tests/unit/providers/callables/__init__.py b/tests/unit/providers/callables/__init__.py
new file mode 100644
index 00000000..c79748fa
--- /dev/null
+++ b/tests/unit/providers/callables/__init__.py
@@ -0,0 +1 @@
+"""Tests for callables."""
diff --git a/tests/unit/providers/callables/common.py b/tests/unit/providers/callables/common.py
new file mode 100644
index 00000000..822970eb
--- /dev/null
+++ b/tests/unit/providers/callables/common.py
@@ -0,0 +1,5 @@
+"""Common test artifacts."""
+
+
+def example(arg1, arg2, arg3, arg4):
+ return arg1, arg2, arg3, arg4
diff --git a/tests/unit/providers/callables/test_abstract_callable_py2_py3.py b/tests/unit/providers/callables/test_abstract_callable_py2_py3.py
new file mode 100644
index 00000000..fa794840
--- /dev/null
+++ b/tests/unit/providers/callables/test_abstract_callable_py2_py3.py
@@ -0,0 +1,56 @@
+"""AbstractCallable provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import example
+
+
+def test_inheritance():
+ assert isinstance(providers.AbstractCallable(example), providers.Callable)
+
+
+def test_call_overridden_by_callable():
+ def _abstract_example():
+ pass
+
+ provider = providers.AbstractCallable(_abstract_example)
+ provider.override(providers.Callable(example))
+
+ assert provider(1, 2, 3, 4) == (1, 2, 3, 4)
+
+
+def test_call_overridden_by_delegated_callable():
+ def _abstract_example():
+ pass
+
+ provider = providers.AbstractCallable(_abstract_example)
+ provider.override(providers.DelegatedCallable(example))
+
+ assert provider(1, 2, 3, 4) == (1, 2, 3, 4)
+
+
+def test_call_not_overridden():
+ provider = providers.AbstractCallable(example)
+ with raises(errors.Error):
+ provider(1, 2, 3, 4)
+
+
+def test_override_by_not_callable():
+ provider = providers.AbstractCallable(example)
+ with raises(errors.Error):
+ provider.override(providers.Factory(object))
+
+
+def test_provide_not_implemented():
+ provider = providers.AbstractCallable(example)
+ with raises(NotImplementedError):
+ provider._provide((1, 2, 3, 4), dict())
+
+
+def test_repr():
+ provider = providers.AbstractCallable(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/callables/test_callable_delegate_py2_py3.py b/tests/unit/providers/callables/test_callable_delegate_py2_py3.py
new file mode 100644
index 00000000..f33f2723
--- /dev/null
+++ b/tests/unit/providers/callables/test_callable_delegate_py2_py3.py
@@ -0,0 +1,17 @@
+"""CallableDelegate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import example
+
+
+def test_is_delegate():
+ provider = providers.Callable(example)
+ delegate = providers.CallableDelegate(provider)
+ assert isinstance(delegate, providers.Delegate)
+
+
+def test_init_with_not_callable():
+ with raises(errors.Error):
+ providers.CallableDelegate(providers.Object(object()))
diff --git a/tests/unit/providers/callables/test_callable_py2_py3.py b/tests/unit/providers/callables/test_callable_py2_py3.py
new file mode 100644
index 00000000..fade0a69
--- /dev/null
+++ b/tests/unit/providers/callables/test_callable_py2_py3.py
@@ -0,0 +1,210 @@
+"""Callable provider tests."""
+
+import sys
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import example
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.Callable(example)) is True
+
+
+def test_init_with_not_callable():
+ with raises(errors.Error):
+ providers.Callable(123)
+
+
+def test_init_optional_provides():
+ provider = providers.Callable()
+ provider.set_provides(object)
+ assert provider.provides is object
+ assert isinstance(provider(), object)
+
+
+def test_set_provides_returns_():
+ provider = providers.Callable()
+ assert provider.set_provides(object) is provider
+
+
+def test_provided_instance_provider():
+ provider = providers.Callable(example)
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_call():
+ provider = providers.Callable(lambda: True)
+ assert provider() is True
+
+
+def test_call_with_positional_args():
+ provider = providers.Callable(example, 1, 2, 3, 4)
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_call_with_keyword_args():
+ provider = providers.Callable(example, arg1=1, arg2=2, arg3=3, arg4=4)
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_call_with_positional_and_keyword_args():
+ provider = providers.Callable(example, 1, 2, arg3=3, arg4=4)
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_call_with_context_args():
+ provider = providers.Callable(example, 1, 2)
+ assert provider(3, 4) == (1, 2, 3, 4)
+
+
+def test_call_with_context_kwargs():
+ provider = providers.Callable(example, arg1=1)
+ assert provider(arg2=2, arg3=3, arg4=4) == (1, 2, 3, 4)
+
+
+def test_call_with_context_args_and_kwargs():
+ provider = providers.Callable(example, 1)
+ assert provider(2, arg3=3, arg4=4) == (1, 2, 3, 4)
+
+
+def test_fluent_interface():
+ provider = providers.Singleton(example) \
+ .add_args(1, 2) \
+ .add_kwargs(arg3=3, arg4=4)
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_set_args():
+ provider = providers.Callable(example) \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
+
+
+def test_set_kwargs():
+ provider = providers.Callable(example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .set_kwargs(init_arg3=4, init_arg4=5)
+ assert provider.kwargs == dict(init_arg3=4, init_arg4=5)
+
+
+def test_clear_args():
+ provider = providers.Callable(example) \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
+
+
+def test_clear_kwargs():
+ provider = providers.Callable(example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .clear_kwargs()
+ assert provider.kwargs == dict()
+
+
+def test_call_overridden():
+ provider = providers.Callable(example)
+
+ provider.override(providers.Object((4, 3, 2, 1)))
+ provider.override(providers.Object((1, 2, 3, 4)))
+
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_deepcopy():
+ provider = providers.Callable(example)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert provider.provides is provider_copy.provides
+ assert isinstance(provider, providers.Callable)
+
+
+def test_deepcopy_from_memo():
+ provider = providers.Callable(example)
+ provider_copy_memo = providers.Callable(example)
+
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_args():
+ provider = providers.Callable(example)
+ dependent_provider1 = providers.Callable(list)
+ dependent_provider2 = providers.Callable(dict)
+
+ provider.add_args(dependent_provider1, dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
+
+ assert provider.args != provider_copy.args
+
+ assert dependent_provider1.provides is dependent_provider_copy1.provides
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.provides is dependent_provider_copy2.provides
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs():
+ provider = providers.Callable(example)
+ dependent_provider1 = providers.Callable(list)
+ dependent_provider2 = providers.Callable(dict)
+
+ provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["a1"]
+ dependent_provider_copy2 = provider_copy.kwargs["a2"]
+
+ assert provider.kwargs != provider_copy.kwargs
+
+ assert dependent_provider1.provides is dependent_provider_copy1.provides
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.provides is dependent_provider_copy2.provides
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden():
+ provider = providers.Callable(example)
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.provides is provider_copy.provides
+ assert isinstance(provider, providers.Callable)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams():
+ provider = providers.Callable(example)
+ provider.add_args(sys.stdin)
+ provider.add_kwargs(a2=sys.stdout)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, providers.Callable)
+ assert provider.args[0] is sys.stdin
+ assert provider.kwargs["a2"] is sys.stdout
+
+
+def test_repr():
+ provider = providers.Callable(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/callables/test_delegated_callable_py2_py3.py b/tests/unit/providers/callables/test_delegated_callable_py2_py3.py
new file mode 100644
index 00000000..15311164
--- /dev/null
+++ b/tests/unit/providers/callables/test_delegated_callable_py2_py3.py
@@ -0,0 +1,26 @@
+"""DelegatedCallable provider tests."""
+
+from dependency_injector import providers
+
+from .common import example
+
+
+def test_inheritance():
+ assert isinstance(providers.DelegatedCallable(example), providers.Callable)
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.DelegatedCallable(example)) is True
+
+
+def test_is_delegated_provider():
+ provider = providers.DelegatedCallable(example)
+ assert providers.is_delegated(provider) is True
+
+
+def test_repr():
+ provider = providers.DelegatedCallable(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/configuration/__init__.py b/tests/unit/providers/configuration/__init__.py
new file mode 100644
index 00000000..fda0d161
--- /dev/null
+++ b/tests/unit/providers/configuration/__init__.py
@@ -0,0 +1 @@
+"""Configuration provider tests."""
diff --git a/tests/unit/providers/configuration/conftest.py b/tests/unit/providers/configuration/conftest.py
new file mode 100644
index 00000000..d4f1ef0a
--- /dev/null
+++ b/tests/unit/providers/configuration/conftest.py
@@ -0,0 +1,112 @@
+"""Fixtures module."""
+
+import os
+
+from dependency_injector import providers
+from pytest import fixture
+
+
+@fixture
+def config_type():
+ return "default"
+
+
+@fixture
+def config(config_type):
+ if config_type == "strict":
+ return providers.Configuration(strict=True)
+ elif config_type == "default":
+ return providers.Configuration()
+ else:
+ raise ValueError("Undefined config type \"{0}\"".format(config_type))
+
+
+@fixture
+def ini_config_file_1(tmp_path):
+ config_file = str(tmp_path / "config_1.ini")
+ with open(config_file, "w") as file:
+ file.write(
+ "[section1]\n"
+ "value1=1\n"
+ "\n"
+ "[section2]\n"
+ "value2=2\n"
+ )
+ return config_file
+
+
+@fixture
+def ini_config_file_2(tmp_path):
+ config_file = str(tmp_path / "config_2.ini")
+ with open(config_file, "w") as file:
+ file.write(
+ "[section1]\n"
+ "value1=11\n"
+ "value11=11\n"
+ "[section3]\n"
+ "value3=3\n"
+ )
+ return config_file
+
+
+@fixture
+def ini_config_file_3(tmp_path):
+ ini_config_file_3 = str(tmp_path / "config_3.ini")
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section1]\n"
+ "value1=${CONFIG_TEST_ENV}\n"
+ "value2=${CONFIG_TEST_PATH}/path\n"
+ )
+ return ini_config_file_3
+
+
+@fixture
+def yaml_config_file_1(tmp_path):
+ config_file = str(tmp_path / "config_1.yml")
+ with open(config_file, "w") as file:
+ file.write(
+ "section1:\n"
+ " value1: 1\n"
+ "\n"
+ "section2:\n"
+ " value2: 2\n"
+ )
+ return config_file
+
+
+@fixture
+def yaml_config_file_2(tmp_path):
+ config_file = str(tmp_path / "config_2.yml")
+ with open(config_file, "w") as file:
+ file.write(
+ "section1:\n"
+ " value1: 11\n"
+ " value11: 11\n"
+ "section3:\n"
+ " value3: 3\n"
+ )
+ return config_file
+
+
+@fixture
+def yaml_config_file_3(tmp_path):
+ yaml_config_file_3 = str(tmp_path / "config_3.yml")
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section1:\n"
+ " value1: ${CONFIG_TEST_ENV}\n"
+ " value2: ${CONFIG_TEST_PATH}/path\n"
+ )
+ return yaml_config_file_3
+
+
+@fixture(autouse=True)
+def environment_variables():
+ os.environ["CONFIG_TEST_ENV"] = "test-value"
+ os.environ["CONFIG_TEST_PATH"] = "test-path"
+ os.environ["DEFINED"] = "defined"
+ yield
+ os.environ.pop("CONFIG_TEST_ENV", None)
+ os.environ.pop("CONFIG_TEST_PATH", None)
+ os.environ.pop("DEFINED", None)
diff --git a/tests/unit/providers/configuration/test_config_linking_py2_py3.py b/tests/unit/providers/configuration/test_config_linking_py2_py3.py
new file mode 100644
index 00000000..1a1720a5
--- /dev/null
+++ b/tests/unit/providers/configuration/test_config_linking_py2_py3.py
@@ -0,0 +1,130 @@
+"""Tests for configuration provider linking."""
+
+
+from dependency_injector import containers, providers
+
+
+class Core(containers.DeclarativeContainer):
+ config = providers.Configuration("core")
+ value_getter = providers.Callable(lambda _: _, config.value)
+
+
+class Services(containers.DeclarativeContainer):
+ config = providers.Configuration("services")
+ value_getter = providers.Callable(lambda _: _, config.value)
+
+
+def test():
+ root_config = providers.Configuration("main")
+ core = Core(config=root_config.core)
+ services = Services(config=root_config.services)
+
+ root_config.override(
+ {
+ "core": {
+ "value": "core",
+ },
+ "services": {
+ "value": "services",
+ },
+ },
+ )
+
+ assert core.config() == {"value": "core"}
+ assert core.config.value() == "core"
+ assert core.value_getter() == "core"
+
+ assert services.config() == {"value": "services"}
+ assert services.config.value() == "services"
+ assert services.value_getter() == "services"
+
+
+def test_double_override():
+ root_config = providers.Configuration("main")
+ core = Core(config=root_config.core)
+ services = Services(config=root_config.services)
+
+ root_config.override(
+ {
+ "core": {
+ "value": "core1",
+ },
+ "services": {
+ "value": "services1",
+ },
+ },
+ )
+ root_config.override(
+ {
+ "core": {
+ "value": "core2",
+ },
+ "services": {
+ "value": "services2",
+ },
+ },
+ )
+
+ assert core.config() == {"value": "core2"}
+ assert core.config.value() == "core2"
+ assert core.value_getter() == "core2"
+
+ assert services.config() == {"value": "services2"}
+ assert services.config.value() == "services2"
+ assert services.value_getter() == "services2"
+
+
+def test_reset_overriding_cache():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/428
+ class Core(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ greetings = providers.Factory(str, config.greeting)
+
+ class Application(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ core = providers.Container(
+ Core,
+ config=config,
+ )
+
+ greetings = providers.Factory(str, config.greeting)
+
+ container = Application()
+
+ container.config.set("greeting", "Hello World")
+ assert container.greetings() == "Hello World"
+ assert container.core.greetings() == "Hello World"
+
+ container.config.set("greeting", "Hello Bob")
+ assert container.greetings() == "Hello Bob"
+ assert container.core.greetings() == "Hello Bob"
+
+
+def test_reset_overriding_cache_for_option():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/428
+ class Core(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ greetings = providers.Factory(str, config.greeting)
+
+ class Application(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ core = providers.Container(
+ Core,
+ config=config.option,
+ )
+
+ greetings = providers.Factory(str, config.option.greeting)
+
+ container = Application()
+
+ container.config.set("option.greeting", "Hello World")
+ assert container.greetings() == "Hello World"
+ assert container.core.greetings() == "Hello World"
+
+ container.config.set("option.greeting", "Hello Bob")
+ assert container.greetings() == "Hello Bob"
+ assert container.core.greetings() == "Hello Bob"
diff --git a/tests/unit/providers/configuration/test_config_py2_py3.py b/tests/unit/providers/configuration/test_config_py2_py3.py
new file mode 100644
index 00000000..34f1b409
--- /dev/null
+++ b/tests/unit/providers/configuration/test_config_py2_py3.py
@@ -0,0 +1,338 @@
+"""Configuration provider tests."""
+
+import decimal
+
+from dependency_injector import containers, providers, errors
+from pytest import mark, raises
+
+
+def test_init_optional(config):
+ config.set_name("myconfig")
+ config.set_default({"foo": "bar"})
+ config.set_strict(True)
+
+ assert config.get_name() == "myconfig"
+ assert config.get_default() == {"foo": "bar"}
+ assert config.get_strict() is True
+
+
+def test_set_name_returns_self(config):
+ assert config.set_name("myconfig") is config
+
+
+def test_set_default_returns_self(config):
+ assert config.set_default({}) is config
+
+
+def test_set_strict_returns_self(config):
+ assert config.set_strict(True) is config
+
+
+def test_default_name(config):
+ assert config.get_name() == "config"
+
+
+def test_providers_are_providers(config):
+ assert providers.is_provider(config.a) is True
+ assert providers.is_provider(config.a.b) is True
+ assert providers.is_provider(config.a.b.c) is True
+ assert providers.is_provider(config.a.b.d) is True
+
+
+def test_providers_are_not_delegates(config):
+ assert providers.is_delegated(config.a) is False
+ assert providers.is_delegated(config.a.b) is False
+ assert providers.is_delegated(config.a.b.c) is False
+ assert providers.is_delegated(config.a.b.d) is False
+
+
+def test_providers_identity(config):
+ assert config.a is config.a
+ assert config.a.b is config.a.b
+ assert config.a.b.c is config.a.b.c
+ assert config.a.b.d is config.a.b.d
+
+
+def test_get_name(config):
+ assert config.a.b.c.get_name() == "config.a.b.c"
+
+
+def test_providers_value_setting(config):
+ a = config.a
+ ab = config.a.b
+ abc = config.a.b.c
+ abd = config.a.b.d
+
+ config.update({"a": {"b": {"c": 1, "d": 2}}})
+
+ assert a() == {"b": {"c": 1, "d": 2}}
+ assert ab() == {"c": 1, "d": 2}
+ assert abc() == 1
+ assert abd() == 2
+
+
+def test_providers_with_already_set_value(config):
+ config.update({"a": {"b": {"c": 1, "d": 2}}})
+
+ a = config.a
+ ab = config.a.b
+ abc = config.a.b.c
+ abd = config.a.b.d
+
+ assert a() == {"b": {"c": 1, "d": 2}}
+ assert ab() == {"c": 1, "d": 2}
+ assert abc() == 1
+ assert abd() == 2
+
+
+def test_as_int(config):
+ value_provider = providers.Callable(lambda value: value, config.test.as_int())
+ config.from_dict({"test": "123"})
+
+ value = value_provider()
+ assert value == 123
+
+
+def test_as_float(config):
+ value_provider = providers.Callable(lambda value: value, config.test.as_float())
+ config.from_dict({"test": "123.123"})
+
+ value = value_provider()
+ assert value == 123.123
+
+
+def test_as_(config):
+ value_provider = providers.Callable(
+ lambda value: value,
+ config.test.as_(decimal.Decimal),
+ )
+ config.from_dict({"test": "123.123"})
+
+ value = value_provider()
+ assert value == decimal.Decimal("123.123")
+
+
+def test_required(config):
+ provider = providers.Callable(
+ lambda value: value,
+ config.a.required(),
+ )
+ with raises(errors.Error, match="Undefined configuration option \"config.a\""):
+ provider()
+
+
+def test_required_defined_none(config):
+ provider = providers.Callable(
+ lambda value: value,
+ config.a.required(),
+ )
+ config.from_dict({"a": None})
+ assert provider() is None
+
+
+def test_required_no_side_effect(config):
+ _ = providers.Callable(
+ lambda value: value,
+ config.a.required(),
+ )
+ assert config.a() is None
+
+
+def test_required_as_(config):
+ provider = providers.List(
+ config.int_test.required().as_int(),
+ config.float_test.required().as_float(),
+ config._as_test.required().as_(decimal.Decimal),
+ )
+ config.from_dict({"int_test": "1", "float_test": "2.0", "_as_test": "3.0"})
+ assert provider() == [1, 2.0, decimal.Decimal("3.0")]
+
+
+def test_providers_value_override(config):
+ a = config.a
+ ab = config.a.b
+ abc = config.a.b.c
+ abd = config.a.b.d
+
+ config.override({"a": {"b": {"c": 1, "d": 2}}})
+
+ assert a() == {"b": {"c": 1, "d": 2}}
+ assert ab() == {"c": 1, "d": 2}
+ assert abc() == 1
+ assert abd() == 2
+
+
+def test_configuration_option_override_and_reset_override(config):
+ # Bug: https://github.com/ets-labs/python-dependency-injector/issues/319
+ config.from_dict({"a": {"b": {"c": 1}}})
+
+ assert config.a.b.c() == 1
+
+ with config.set("a.b.c", "xxx"):
+ assert config.a.b.c() == "xxx"
+ assert config.a.b.c() == 1
+
+ with config.a.b.c.override("yyy"):
+ assert config.a.b.c() == "yyy"
+
+ assert config.a.b.c() == 1
+
+
+def test_providers_with_already_overridden_value(config):
+ config.override({"a": {"b": {"c": 1, "d": 2}}})
+
+ a = config.a
+ ab = config.a.b
+ abc = config.a.b.c
+ abd = config.a.b.d
+
+ assert a() == {"b": {"c": 1, "d": 2}}
+ assert ab() == {"c": 1, "d": 2}
+ assert abc() == 1
+ assert abd() == 2
+
+
+def test_providers_with_default_value(config):
+ config.set_default({"a": {"b": {"c": 1, "d": 2}}})
+
+ a = config.a
+ ab = config.a.b
+ abc = config.a.b.c
+ abd = config.a.b.d
+
+ assert a() == {"b": {"c": 1, "d": 2}}
+ assert ab() == {"c": 1, "d": 2}
+ assert abc() == 1
+ assert abd() == 2
+
+
+def test_providers_with_default_value_overriding(config):
+ config.set_default({"a": {"b": {"c": 1, "d": 2}}})
+
+ assert config.a() == {"b": {"c": 1, "d": 2}}
+ assert config.a.b() == {"c": 1, "d": 2}
+ assert config.a.b.c() == 1
+ assert config.a.b.d() == 2
+
+ config.override({"a": {"b": {"c": 3, "d": 4}}})
+ assert config.a() == {"b": {"c": 3, "d": 4}}
+ assert config.a.b() == {"c": 3, "d": 4}
+ assert config.a.b.c() == 3
+ assert config.a.b.d() == 4
+
+ config.reset_override()
+ assert config.a() == {"b": {"c": 1, "d": 2}}
+ assert config.a.b() == {"c": 1, "d": 2}
+ assert config.a.b.c() == 1
+ assert config.a.b.d() == 2
+
+
+def test_value_of_undefined_option(config):
+ assert config.option() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_value_of_undefined_option_in_strict_mode(config):
+ with raises(errors.Error, match="Undefined configuration option \"config.option\""):
+ config.option()
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_value_of_undefined_option_with_root_none_in_strict_mode(config):
+ config.override(None)
+ with raises(errors.Error, match="Undefined configuration option \"config.option\""):
+ config.option()
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_value_of_defined_none_option_in_strict_mode(config):
+ config.from_dict({"a": None})
+ assert config.a() is None
+
+
+def test_getting_of_special_attributes(config):
+ with raises(AttributeError):
+ config.__name__
+
+
+def test_getting_of_special_attributes_from_child(config):
+ with raises(AttributeError):
+ config.child.__name__
+
+
+def test_context_manager_alias():
+ class Container(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ container = Container()
+
+ with container.config as config:
+ config.override({"foo": "foo", "bar": "bar"})
+
+ assert container.config() == {"foo": "foo", "bar": "bar"}
+ assert config() == {"foo": "foo", "bar": "bar"}
+ assert container.config is config
+
+
+def test_option_context_manager_alias():
+ class Container(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ container = Container()
+
+ with container.config.option as option:
+ option.override({"foo": "foo", "bar": "bar"})
+
+ assert container.config() == {"option": {"foo": "foo", "bar": "bar"}}
+ assert container.config.option() == {"foo": "foo", "bar": "bar"}
+ assert option() == {"foo": "foo", "bar": "bar"}
+ assert container.config.option is option
+
+
+def test_missing_key(config):
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/358
+ config.override(None)
+ value = config.key()
+ assert value is None
+
+
+def test_deepcopy(config):
+ config_copy = providers.deepcopy(config)
+ assert isinstance(config_copy, providers.Configuration)
+ assert config is not config_copy
+
+
+def test_deepcopy_from_memo(config):
+ config_copy_memo = providers.Configuration()
+
+ provider_copy = providers.deepcopy(config, memo={id(config): config_copy_memo})
+ assert provider_copy is config_copy_memo
+
+
+def test_deepcopy_overridden(config):
+ object_provider = providers.Object(object())
+
+ config.override(object_provider)
+
+ provider_copy = providers.deepcopy(config)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert config is not provider_copy
+ assert isinstance(config, providers.Configuration)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_repr(config):
+ assert repr(config) == (
+ "".format(repr("config"), hex(id(config)))
+ )
+
+
+def test_repr_child(config):
+ assert repr(config.a.b.c) == (
+ "".format(repr("config.a.b.c"), hex(id(config.a.b.c)))
+ )
diff --git a/tests/unit/providers/configuration/test_from_dict_py2_py3.py b/tests/unit/providers/configuration/test_from_dict_py2_py3.py
new file mode 100644
index 00000000..ebc833e7
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_dict_py2_py3.py
@@ -0,0 +1,103 @@
+"""Configuration.from_dict() tests."""
+
+from pytest import mark, raises
+
+
+CONFIG_OPTIONS_1 = {
+ "section1": {
+ "value1": "1",
+ },
+ "section2": {
+ "value2": "2",
+ },
+}
+CONFIG_OPTIONS_2 = {
+ "section1": {
+ "value1": "11",
+ "value11": "11",
+ },
+ "section3": {
+ "value3": "3",
+ },
+}
+
+
+def test(config):
+ config.from_dict(CONFIG_OPTIONS_1)
+
+ assert config() == {"section1": {"value1": "1"}, "section2": {"value2": "2"}}
+ assert config.section1() == {"value1": "1"}
+ assert config.section1.value1() == "1"
+ assert config.section2() == {"value2": "2"}
+ assert config.section2.value2() == "2"
+
+
+def test_merge(config):
+ config.from_dict(CONFIG_OPTIONS_1)
+ config.from_dict(CONFIG_OPTIONS_2)
+
+ assert config() == {
+ "section1": {
+ "value1": "11",
+ "value11": "11",
+ },
+ "section2": {
+ "value2": "2",
+ },
+ "section3": {
+ "value3": "3",
+ },
+ }
+ assert config.section1() == {"value1": "11", "value11": "11"}
+ assert config.section1.value1() == "11"
+ assert config.section1.value11() == "11"
+ assert config.section2() == {"value2": "2"}
+ assert config.section2.value2() == "2"
+ assert config.section3() == {"value3": "3"}
+ assert config.section3.value3() == "3"
+
+
+def test_empty_dict(config):
+ config.from_dict({})
+ assert config() == {}
+
+
+def test_option_empty_dict(config):
+ config.option.from_dict({})
+ assert config.option() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_empty_dict_in_strict_mode(config):
+ with raises(ValueError):
+ config.from_dict({})
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_empty_dict_in_strict_mode(config):
+ with raises(ValueError):
+ config.option.from_dict({})
+
+
+def test_required_empty_dict(config):
+ with raises(ValueError):
+ config.from_dict({}, required=True)
+
+
+def test_required_option_empty_dict(config):
+ with raises(ValueError):
+ config.option.from_dict({}, required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_empty_dict_strict_mode(config):
+ config.from_dict({}, required=False)
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_option_empty_dict_strict_mode(config):
+ config.option.from_dict({}, required=False)
+ assert config.option() == {}
+ assert config() == {"option": {}}
+
diff --git a/tests/unit/providers/configuration/test_from_env_py2_py3.py b/tests/unit/providers/configuration/test_from_env_py2_py3.py
new file mode 100644
index 00000000..4c9a70db
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_env_py2_py3.py
@@ -0,0 +1,98 @@
+"""Configuration.from_env() tests."""
+
+from pytest import mark, raises
+
+
+def test(config):
+ config.from_env("CONFIG_TEST_ENV")
+ assert config() == "test-value"
+
+
+def test_with_children(config):
+ config.section1.value1.from_env("CONFIG_TEST_ENV")
+
+ assert config() == {"section1": {"value1": "test-value"}}
+ assert config.section1() == {"value1": "test-value"}
+ assert config.section1.value1() == "test-value"
+
+
+def test_default(config):
+ config.from_env("UNDEFINED_ENV", "default-value")
+ assert config() == "default-value"
+
+
+def test_default_none(config):
+ config.from_env("UNDEFINED_ENV")
+ assert config() is None
+
+
+def test_option_default_none(config):
+ config.option.from_env("UNDEFINED_ENV")
+ assert config.option() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_undefined_in_strict_mode(config):
+ with raises(ValueError):
+ config.from_env("UNDEFINED_ENV")
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_undefined_in_strict_mode(config):
+ with raises(ValueError):
+ config.option.from_env("UNDEFINED_ENV")
+
+
+def test_undefined_in_strict_mode_with_default(config):
+ config.from_env("UNDEFINED_ENV", "default-value")
+ assert config() == "default-value"
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_undefined_in_strict_mode_with_default(config):
+ config.option.from_env("UNDEFINED_ENV", "default-value")
+ assert config.option() == "default-value"
+
+
+def test_required_undefined(config):
+ with raises(ValueError):
+ config.from_env("UNDEFINED_ENV", required=True)
+
+
+def test_required_undefined_with_default(config):
+ config.from_env("UNDEFINED_ENV", default="default-value", required=True)
+ assert config() == "default-value"
+
+
+def test_option_required_undefined(config):
+ with raises(ValueError):
+ config.option.from_env("UNDEFINED_ENV", required=True)
+
+
+def test_option_required_undefined_with_default(config):
+ config.option.from_env("UNDEFINED_ENV", default="default-value", required=True)
+ assert config.option() == "default-value"
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_undefined_in_strict_mode(config):
+ config.from_env("UNDEFINED_ENV", required=False)
+ assert config() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_not_required_undefined_in_strict_mode(config):
+ config.option.from_env("UNDEFINED_ENV", required=False)
+ assert config.option() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_undefined_with_default_in_strict_mode(config):
+ config.from_env("UNDEFINED_ENV", default="default-value", required=False)
+ assert config() == "default-value"
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_not_required_undefined_with_default_in_strict_mode(config):
+ config.option.from_env("UNDEFINED_ENV", default="default-value", required=False)
+ assert config.option() == "default-value"
diff --git a/tests/unit/providers/configuration/test_from_ini_py2_py3.py b/tests/unit/providers/configuration/test_from_ini_py2_py3.py
new file mode 100644
index 00000000..32546007
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_ini_py2_py3.py
@@ -0,0 +1,95 @@
+"""Configuration.from_ini() tests."""
+
+from dependency_injector import errors
+from pytest import mark, raises
+
+
+def test(config, ini_config_file_1):
+ config.from_ini(ini_config_file_1)
+
+ assert config() == {"section1": {"value1": "1"}, "section2": {"value2": "2"}}
+ assert config.section1() == {"value1": "1"}
+ assert config.section1.value1() == "1"
+ assert config.section2() == {"value2": "2"}
+ assert config.section2.value2() == "2"
+
+
+def test_option(config, ini_config_file_1):
+ config.option.from_ini(ini_config_file_1)
+
+ assert config() == {"option": {"section1": {"value1": "1"}, "section2": {"value2": "2"}}}
+ assert config.option() == {"section1": {"value1": "1"}, "section2": {"value2": "2"}}
+ assert config.option.section1() == {"value1": "1"}
+ assert config.option.section1.value1() == "1"
+ assert config.option.section2() == {"value2": "2"}
+ assert config.option.section2.value2() == "2"
+
+
+def test_merge(config, ini_config_file_1, ini_config_file_2):
+ config.from_ini(ini_config_file_1)
+ config.from_ini(ini_config_file_2)
+
+ assert config() == {
+ "section1": {
+ "value1": "11",
+ "value11": "11",
+ },
+ "section2": {
+ "value2": "2",
+ },
+ "section3": {
+ "value3": "3",
+ },
+ }
+ assert config.section1() == {"value1": "11", "value11": "11"}
+ assert config.section1.value1() == "11"
+ assert config.section1.value11() == "11"
+ assert config.section2() == {"value2": "2"}
+ assert config.section2.value2() == "2"
+ assert config.section3() == {"value3": "3"}
+ assert config.section3.value3() == "3"
+
+
+def test_file_does_not_exist(config):
+ config.from_ini("./does_not_exist.ini")
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_file_does_not_exist_strict_mode(config):
+ with raises(IOError):
+ config.from_ini("./does_not_exist.ini")
+
+
+def test_option_file_does_not_exist(config):
+ config.option.from_ini("does_not_exist.ini")
+ assert config.option.undefined() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_file_does_not_exist_strict_mode(config):
+ with raises(IOError):
+ config.option.from_ini("./does_not_exist.ini")
+
+
+def test_required_file_does_not_exist(config):
+ with raises(IOError):
+ config.from_ini("./does_not_exist.ini", required=True)
+
+
+def test_required_option_file_does_not_exist(config):
+ with raises(IOError):
+ config.option.from_ini("./does_not_exist.ini", required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_file_does_not_exist_strict_mode(config):
+ config.from_ini("./does_not_exist.ini", required=False)
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_option_file_does_not_exist_strict_mode(config):
+ config.option.from_ini("./does_not_exist.ini", required=False)
+ with raises(errors.Error):
+ config.option()
diff --git a/tests/unit/providers/configuration/test_from_ini_with_env_py2_py3.py b/tests/unit/providers/configuration/test_from_ini_with_env_py2_py3.py
new file mode 100644
index 00000000..e669ce48
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_ini_with_env_py2_py3.py
@@ -0,0 +1,145 @@
+"""Configuration.from_ini() with environment variables interpolation tests."""
+
+import os
+
+from pytest import mark, raises
+
+
+def test_env_variable_interpolation(config, ini_config_file_3):
+ config.from_ini(ini_config_file_3)
+
+ assert config() == {
+ "section1": {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ },
+ }
+ assert config.section1() == {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ }
+ assert config.section1.value1() == "test-value"
+ assert config.section1.value2() == "test-path/path"
+
+
+def test_missing_envs_not_required(config, ini_config_file_3):
+ del os.environ["CONFIG_TEST_ENV"]
+ del os.environ["CONFIG_TEST_PATH"]
+
+ config.from_ini(ini_config_file_3)
+
+ assert config() == {
+ "section1": {
+ "value1": "",
+ "value2": "/path",
+ },
+ }
+ assert config.section1() == {
+ "value1": "",
+ "value2": "/path",
+ }
+ assert config.section1.value1() == ""
+ assert config.section1.value2() == "/path"
+
+
+def test_missing_envs_required(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.from_ini(ini_config_file_3, envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_strict_mode(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.from_ini(ini_config_file_3)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_not_required_in_strict_mode(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ config.from_ini(ini_config_file_3, envs_required=False)
+ assert config.section.undefined() == ""
+
+
+def test_option_missing_envs_not_required(config, ini_config_file_3):
+ del os.environ["CONFIG_TEST_ENV"]
+ del os.environ["CONFIG_TEST_PATH"]
+
+ config.option.from_ini(ini_config_file_3)
+
+ assert config.option() == {
+ "section1": {
+ "value1": "",
+ "value2": "/path",
+ },
+ }
+ assert config.option.section1() == {
+ "value1": "",
+ "value2": "/path",
+ }
+ assert config.option.section1.value1() == ""
+ assert config.option.section1.value2() == "/path"
+
+
+def test_option_missing_envs_required(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.option.from_ini(ini_config_file_3, envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_missing_envs_not_required_in_strict_mode(config, ini_config_file_3):
+ config.override({"option": {}})
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ config.option.from_ini(ini_config_file_3, envs_required=False)
+ assert config.option.section.undefined() == ""
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_missing_envs_strict_mode(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.option.from_ini(ini_config_file_3)
+
+
+def test_default_values(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "defined_with_default=${DEFINED:default}\n"
+ "undefined_with_default=${UNDEFINED:default}\n"
+ "complex=${DEFINED}/path/${DEFINED:default}/${UNDEFINED}/${UNDEFINED:default}\n"
+ )
+
+ config.from_ini(ini_config_file_3)
+
+ assert config.section() == {
+ "defined_with_default": "defined",
+ "undefined_with_default": "default",
+ "complex": "defined/path/defined//default",
+ }
diff --git a/tests/unit/providers/configuration/test_from_pydantic_py36.py b/tests/unit/providers/configuration/test_from_pydantic_py36.py
new file mode 100644
index 00000000..f5a2c97e
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_pydantic_py36.py
@@ -0,0 +1,184 @@
+"""Configuration.from_pydantic() tests."""
+
+import pydantic
+from dependency_injector import providers, errors
+from pytest import fixture, mark, raises
+
+
+class Section11(pydantic.BaseModel):
+ value1 = 1
+
+
+class Section12(pydantic.BaseModel):
+ value2 = 2
+
+
+class Settings1(pydantic.BaseSettings):
+ section1 = Section11()
+ section2 = Section12()
+
+
+class Section21(pydantic.BaseModel):
+ value1 = 11
+ value11 = 11
+
+
+class Section3(pydantic.BaseModel):
+ value3 = 3
+
+
+class Settings2(pydantic.BaseSettings):
+ section1 = Section21()
+ section3 = Section3()
+
+@fixture
+def no_pydantic_module_installed():
+ providers.pydantic = None
+ yield
+ providers.pydantic = pydantic
+
+
+def test(config):
+ config.from_pydantic(Settings1())
+
+ assert config() == {"section1": {"value1": 1}, "section2": {"value2": 2}}
+ assert config.section1() == {"value1": 1}
+ assert config.section1.value1() == 1
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+
+
+def test_kwarg(config):
+ config.from_pydantic(Settings1(), exclude={"section2"})
+
+ assert config() == {"section1": {"value1": 1}}
+ assert config.section1() == {"value1": 1}
+ assert config.section1.value1() == 1
+
+
+def test_merge(config):
+ config.from_pydantic(Settings1())
+ config.from_pydantic(Settings2())
+
+ assert config() == {
+ "section1": {
+ "value1": 11,
+ "value11": 11,
+ },
+ "section2": {
+ "value2": 2,
+ },
+ "section3": {
+ "value3": 3,
+ },
+ }
+ assert config.section1() == {"value1": 11, "value11": 11}
+ assert config.section1.value1() == 11
+ assert config.section1.value11() == 11
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+ assert config.section3() == {"value3": 3}
+ assert config.section3.value3() == 3
+
+
+def test_empty_settings(config):
+ config.from_pydantic(pydantic.BaseSettings())
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_empty_settings_strict_mode(config):
+ with raises(ValueError):
+ config.from_pydantic(pydantic.BaseSettings())
+
+
+def test_option_empty_settings(config):
+ config.option.from_pydantic(pydantic.BaseSettings())
+ assert config.option() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_empty_settings_strict_mode(config):
+ with raises(ValueError):
+ config.option.from_pydantic(pydantic.BaseSettings())
+
+
+def test_required_empty_settings(config):
+ with raises(ValueError):
+ config.from_pydantic(pydantic.BaseSettings(), required=True)
+
+
+def test_required_option_empty_settings(config):
+ with raises(ValueError):
+ config.option.from_pydantic(pydantic.BaseSettings(), required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_empty_settings_strict_mode(config):
+ config.from_pydantic(pydantic.BaseSettings(), required=False)
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_option_empty_settings_strict_mode(config):
+ config.option.from_pydantic(pydantic.BaseSettings(), required=False)
+ assert config.option() == {}
+ assert config() == {"option": {}}
+
+
+def test_not_instance_of_settings(config):
+ with raises(errors.Error) as error:
+ config.from_pydantic({})
+ assert error.value.args[0] == (
+ "Unable to recognize settings instance, expect \"pydantic.BaseSettings\", "
+ "got {0} instead".format({})
+ )
+
+
+def test_option_not_instance_of_settings(config):
+ with raises(errors.Error) as error:
+ config.option.from_pydantic({})
+ assert error.value.args[0] == (
+ "Unable to recognize settings instance, expect \"pydantic.BaseSettings\", "
+ "got {0} instead".format({})
+ )
+
+
+def test_subclass_instead_of_instance(config):
+ with raises(errors.Error) as error:
+ config.from_pydantic(Settings1)
+ assert error.value.args[0] == (
+ "Got settings class, but expect instance: "
+ "instead \"Settings1\" use \"Settings1()\""
+ )
+
+
+def test_option_subclass_instead_of_instance(config):
+ with raises(errors.Error) as error:
+ config.option.from_pydantic(Settings1)
+ assert error.value.args[0] == (
+ "Got settings class, but expect instance: "
+ "instead \"Settings1\" use \"Settings1()\""
+ )
+
+
+@mark.usefixtures("no_pydantic_module_installed")
+def test_no_pydantic_installed(config):
+ with raises(errors.Error) as error:
+ config.from_pydantic(Settings1())
+ assert error.value.args[0] == (
+ "Unable to load pydantic configuration - pydantic is not installed. "
+ "Install pydantic or install Dependency Injector with pydantic extras: "
+ "\"pip install dependency-injector[pydantic]\""
+ )
+
+
+@mark.usefixtures("no_pydantic_module_installed")
+def test_option_no_pydantic_installed(config):
+ with raises(errors.Error) as error:
+ config.option.from_pydantic(Settings1())
+ assert error.value.args[0] == (
+ "Unable to load pydantic configuration - pydantic is not installed. "
+ "Install pydantic or install Dependency Injector with pydantic extras: "
+ "\"pip install dependency-injector[pydantic]\""
+ )
diff --git a/tests/unit/providers/configuration/test_from_value_py2_py3.py b/tests/unit/providers/configuration/test_from_value_py2_py3.py
new file mode 100644
index 00000000..23dd5191
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_value_py2_py3.py
@@ -0,0 +1,19 @@
+"""Configuration.from_value() tests."""
+
+
+def test_from_value(config):
+ test_value = 123321
+ config.from_value(test_value)
+ assert config() == test_value
+
+
+def test_option_from_value(config):
+ test_value_1 = 123
+ test_value_2 = 321
+
+ config.option1.from_value(test_value_1)
+ config.option2.from_value(test_value_2)
+
+ assert config() == {"option1": test_value_1, "option2": test_value_2}
+ assert config.option1() == test_value_1
+ assert config.option2() == test_value_2
diff --git a/tests/unit/providers/configuration/test_from_yaml_py2_py3.py b/tests/unit/providers/configuration/test_from_yaml_py2_py3.py
new file mode 100644
index 00000000..697cfcf2
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_yaml_py2_py3.py
@@ -0,0 +1,114 @@
+"""Configuration.from_yaml() tests."""
+
+from dependency_injector import providers, errors
+from pytest import fixture, mark, raises
+
+
+@fixture
+def no_yaml_module_installed():
+ yaml = providers.yaml
+ providers.yaml = None
+ yield
+ providers.yaml = yaml
+
+
+def test(config, yaml_config_file_1):
+ config.from_yaml(yaml_config_file_1)
+
+ assert config() == {"section1": {"value1": 1}, "section2": {"value2": 2}}
+ assert config.section1() == {"value1": 1}
+ assert config.section1.value1() == 1
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+
+
+def test_merge(config, yaml_config_file_1, yaml_config_file_2):
+ config.from_yaml(yaml_config_file_1)
+ config.from_yaml(yaml_config_file_2)
+
+ assert config() == {
+ "section1": {
+ "value1": 11,
+ "value11": 11,
+ },
+ "section2": {
+ "value2": 2,
+ },
+ "section3": {
+ "value3": 3,
+ },
+ }
+ assert config.section1() == {"value1": 11, "value11": 11}
+ assert config.section1.value1() == 11
+ assert config.section1.value11() == 11
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+ assert config.section3() == {"value3": 3}
+ assert config.section3.value3() == 3
+
+
+def test_file_does_not_exist(config):
+ config.from_yaml("./does_not_exist.yml")
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_file_does_not_exist_strict_mode(config):
+ with raises(IOError):
+ config.from_yaml("./does_not_exist.yml")
+
+
+def test_option_file_does_not_exist(config):
+ config.option.from_yaml("./does_not_exist.yml")
+ assert config.option() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_file_does_not_exist_strict_mode(config):
+ with raises(IOError):
+ config.option.from_yaml("./does_not_exist.yml")
+
+
+def test_required_file_does_not_exist(config):
+ with raises(IOError):
+ config.from_yaml("./does_not_exist.yml", required=True)
+
+
+def test_required_option_file_does_not_exist(config):
+ with raises(IOError):
+ config.option.from_yaml("./does_not_exist.yml", required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_file_does_not_exist_strict_mode(config):
+ config.from_yaml("./does_not_exist.yml", required=False)
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_option_file_does_not_exist_strict_mode(config):
+ config.option.from_yaml("./does_not_exist.yml", required=False)
+ with raises(errors.Error):
+ config.option()
+
+
+@mark.usefixtures("no_yaml_module_installed")
+def test_no_yaml_installed(config, yaml_config_file_1):
+ with raises(errors.Error) as error:
+ config.from_yaml(yaml_config_file_1)
+ assert error.value.args[0] == (
+ "Unable to load yaml configuration - PyYAML is not installed. "
+ "Install PyYAML or install Dependency Injector with yaml extras: "
+ "\"pip install dependency-injector[yaml]\""
+ )
+
+
+@mark.usefixtures("no_yaml_module_installed")
+def test_option_no_yaml_installed(config, yaml_config_file_1):
+ with raises(errors.Error) as error:
+ config.option.from_yaml(yaml_config_file_1)
+ assert error.value.args[0] == (
+ "Unable to load yaml configuration - PyYAML is not installed. "
+ "Install PyYAML or install Dependency Injector with yaml extras: "
+ "\"pip install dependency-injector[yaml]\""
+ )
diff --git a/tests/unit/providers/configuration/test_from_yaml_with_env_py2_py3.py b/tests/unit/providers/configuration/test_from_yaml_with_env_py2_py3.py
new file mode 100644
index 00000000..8e6e1c0d
--- /dev/null
+++ b/tests/unit/providers/configuration/test_from_yaml_with_env_py2_py3.py
@@ -0,0 +1,185 @@
+"""Configuration.from_yaml() with environment variables interpolation tests."""
+
+import os
+
+import yaml
+from pytest import mark, raises
+
+
+def test_env_variable_interpolation(config, yaml_config_file_3):
+ config.from_yaml(yaml_config_file_3)
+
+ assert config() == {
+ "section1": {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ },
+ }
+ assert config.section1() == {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ }
+ assert config.section1.value1() == "test-value"
+ assert config.section1.value2() == "test-path/path"
+
+
+def test_missing_envs_not_required(config, yaml_config_file_3):
+ del os.environ["CONFIG_TEST_ENV"]
+ del os.environ["CONFIG_TEST_PATH"]
+
+ config.from_yaml(yaml_config_file_3)
+
+ assert config() == {
+ "section1": {
+ "value1": None,
+ "value2": "/path",
+ },
+ }
+ assert config.section1() == {
+ "value1": None,
+ "value2": "/path",
+ }
+ assert config.section1.value1() is None
+ assert config.section1.value2() == "/path"
+
+
+def test_missing_envs_required(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.from_yaml(yaml_config_file_3, envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_strict_mode(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.from_yaml(yaml_config_file_3)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_not_required_in_strict_mode(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ config.from_yaml(yaml_config_file_3, envs_required=False)
+ assert config.section.undefined() is None
+
+
+def test_option_missing_envs_not_required(config, yaml_config_file_3):
+ del os.environ["CONFIG_TEST_ENV"]
+ del os.environ["CONFIG_TEST_PATH"]
+
+ config.option.from_yaml(yaml_config_file_3)
+
+ assert config.option() == {
+ "section1": {
+ "value1": None,
+ "value2": "/path",
+ },
+ }
+ assert config.option.section1() == {
+ "value1": None,
+ "value2": "/path",
+ }
+ assert config.option.section1.value1() is None
+ assert config.option.section1.value2() == "/path"
+
+
+def test_option_missing_envs_required(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.option.from_yaml(yaml_config_file_3, envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_missing_envs_not_required_in_strict_mode(config, yaml_config_file_3):
+ config.override({"option": {}})
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ config.option.from_yaml(yaml_config_file_3, envs_required=False)
+ assert config.option.section.undefined() is None
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_option_missing_envs_strict_mode(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.option.from_yaml(yaml_config_file_3)
+
+
+def test_default_values(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " defined_with_default: ${DEFINED:default}\n"
+ " undefined_with_default: ${UNDEFINED:default}\n"
+ " complex: ${DEFINED}/path/${DEFINED:default}/${UNDEFINED}/${UNDEFINED:default}\n"
+ )
+
+ config.from_yaml(yaml_config_file_3)
+
+ assert config.section() == {
+ "defined_with_default": "defined",
+ "undefined_with_default": "default",
+ "complex": "defined/path/defined//default",
+ }
+
+
+def test_option_env_variable_interpolation(config, yaml_config_file_3):
+ config.option.from_yaml(yaml_config_file_3)
+
+ assert config.option() == {
+ "section1": {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ },
+ }
+ assert config.option.section1() == {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ }
+ assert config.option.section1.value1() == "test-value"
+ assert config.option.section1.value2() == "test-path/path"
+
+
+def test_env_variable_interpolation_custom_loader(config, yaml_config_file_3):
+ config.from_yaml(yaml_config_file_3, loader=yaml.UnsafeLoader)
+
+ assert config.section1() == {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ }
+ assert config.section1.value1() == "test-value"
+ assert config.section1.value2() == "test-path/path"
+
+
+def test_option_env_variable_interpolation_custom_loader(config, yaml_config_file_3):
+ config.option.from_yaml(yaml_config_file_3, loader=yaml.UnsafeLoader)
+
+ assert config.option.section1() == {
+ "value1": "test-value",
+ "value2": "test-path/path",
+ }
+ assert config.option.section1.value1() == "test-value"
+ assert config.option.section1.value2() == "test-path/path"
diff --git a/tests/unit/providers/configuration/test_ini_files_in_init_py2_py3.py b/tests/unit/providers/configuration/test_ini_files_in_init_py2_py3.py
new file mode 100644
index 00000000..30d8606c
--- /dev/null
+++ b/tests/unit/providers/configuration/test_ini_files_in_init_py2_py3.py
@@ -0,0 +1,97 @@
+"""Configuration(ini_files=[...]) tests."""
+
+from dependency_injector import providers
+from pytest import fixture, mark, raises
+
+
+@fixture
+def config(config_type, ini_config_file_1, ini_config_file_2):
+ if config_type == "strict":
+ return providers.Configuration(strict=True)
+ elif config_type == "default":
+ return providers.Configuration(ini_files=[ini_config_file_1, ini_config_file_2])
+ else:
+ raise ValueError("Undefined config type \"{0}\"".format(config_type))
+
+
+def test_load(config):
+ config.load()
+
+ assert config() == {
+ "section1": {
+ "value1": "11",
+ "value11": "11",
+ },
+ "section2": {
+ "value2": "2",
+ },
+ "section3": {
+ "value3": "3",
+ },
+ }
+ assert config.section1() == {"value1": "11", "value11": "11"}
+ assert config.section1.value1() == "11"
+ assert config.section1.value11() == "11"
+ assert config.section2() == {"value2": "2"}
+ assert config.section2.value2() == "2"
+ assert config.section3() == {"value3": "3"}
+ assert config.section3.value3() == "3"
+
+
+def test_get_files(config, ini_config_file_1, ini_config_file_2):
+ assert config.get_ini_files() == [ini_config_file_1, ini_config_file_2]
+
+
+def test_set_files(config):
+ config.set_ini_files(["file1.ini", "file2.ini"])
+ assert config.get_ini_files() == ["file1.ini", "file2.ini"]
+
+
+def test_file_does_not_exist(config):
+ config.set_ini_files(["./does_not_exist.ini"])
+ config.load()
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_file_does_not_exist_strict_mode(config):
+ config.set_ini_files(["./does_not_exist.ini"])
+ with raises(IOError):
+ config.load()
+ assert config() == {}
+
+
+def test_required_file_does_not_exist(config):
+ config.set_ini_files(["./does_not_exist.ini"])
+ with raises(IOError):
+ config.load(required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_file_does_not_exist_strict_mode(config):
+ config.set_ini_files(["./does_not_exist.ini"])
+ config.load(required=False)
+ assert config() == {}
+
+
+def test_missing_envs_required(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ config.set_ini_files([ini_config_file_3])
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.load(envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_not_required_in_strict_mode(config, ini_config_file_3):
+ with open(ini_config_file_3, "w") as file:
+ file.write(
+ "[section]\n"
+ "undefined=${UNDEFINED}\n"
+ )
+ config.set_ini_files([ini_config_file_3])
+ config.load(envs_required=False)
+ assert config.section.undefined() == ""
diff --git a/tests/unit/providers/configuration/test_pydantic_settings_in_init_py36.py b/tests/unit/providers/configuration/test_pydantic_settings_in_init_py36.py
new file mode 100644
index 00000000..90101eea
--- /dev/null
+++ b/tests/unit/providers/configuration/test_pydantic_settings_in_init_py36.py
@@ -0,0 +1,121 @@
+"""Configuration.from_pydantic() tests."""
+
+import pydantic
+from dependency_injector import providers
+from pytest import fixture, mark, raises
+
+
+class Section11(pydantic.BaseModel):
+ value1 = 1
+
+
+class Section12(pydantic.BaseModel):
+ value2 = 2
+
+
+class Settings1(pydantic.BaseSettings):
+ section1 = Section11()
+ section2 = Section12()
+
+
+class Section21(pydantic.BaseModel):
+ value1 = 11
+ value11 = 11
+
+
+class Section3(pydantic.BaseModel):
+ value3 = 3
+
+
+class Settings2(pydantic.BaseSettings):
+ section1 = Section21()
+ section3 = Section3()
+
+
+@fixture
+def config(config_type, pydantic_settings_1, pydantic_settings_2):
+ if config_type == "strict":
+ return providers.Configuration(strict=True)
+ elif config_type == "default":
+ return providers.Configuration(pydantic_settings=[pydantic_settings_1, pydantic_settings_2])
+ else:
+ raise ValueError("Undefined config type \"{0}\"".format(config_type))
+
+
+@fixture
+def pydantic_settings_1():
+ return Settings1()
+
+
+@fixture
+def pydantic_settings_2():
+ return Settings2()
+
+
+def test_load(config):
+ config.load()
+
+ assert config() == {
+ "section1": {
+ "value1": 11,
+ "value11": 11,
+ },
+ "section2": {
+ "value2": 2,
+ },
+ "section3": {
+ "value3": 3,
+ },
+ }
+ assert config.section1() == {"value1": 11, "value11": 11}
+ assert config.section1.value1() == 11
+ assert config.section1.value11() == 11
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+ assert config.section3() == {"value3": 3}
+ assert config.section3.value3() == 3
+
+
+def test_get_pydantic_settings(config, pydantic_settings_1, pydantic_settings_2):
+ assert config.get_pydantic_settings() == [pydantic_settings_1, pydantic_settings_2]
+
+
+def test_set_pydantic_settings(config):
+ class Settings3(pydantic.BaseSettings):
+ ...
+
+ class Settings4(pydantic.BaseSettings):
+ ...
+
+ settings_3 = Settings3()
+ settings_4 = Settings4()
+
+ config.set_pydantic_settings([settings_3, settings_4])
+ assert config.get_pydantic_settings() == [settings_3, settings_4]
+
+
+def test_file_does_not_exist(config):
+ config.set_pydantic_settings([pydantic.BaseSettings()])
+ config.load()
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_file_does_not_exist_strict_mode(config):
+ config.set_pydantic_settings([pydantic.BaseSettings()])
+ with raises(ValueError):
+ config.load()
+ assert config() == {}
+
+
+def test_required_file_does_not_exist(config):
+ config.set_pydantic_settings([pydantic.BaseSettings()])
+ with raises(ValueError):
+ config.load(required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_file_does_not_exist_strict_mode(config):
+ config.set_pydantic_settings([pydantic.BaseSettings()])
+ config.load(required=False)
+ assert config() == {}
diff --git a/tests/unit/providers/configuration/test_yaml_files_in_init_py2_py3.py b/tests/unit/providers/configuration/test_yaml_files_in_init_py2_py3.py
new file mode 100644
index 00000000..69c8d476
--- /dev/null
+++ b/tests/unit/providers/configuration/test_yaml_files_in_init_py2_py3.py
@@ -0,0 +1,97 @@
+"""Configuration(yaml_files=[...]) tests."""
+
+from dependency_injector import providers
+from pytest import fixture, mark, raises
+
+
+@fixture
+def config(config_type, yaml_config_file_1, yaml_config_file_2):
+ if config_type == "strict":
+ return providers.Configuration(strict=True)
+ elif config_type == "default":
+ return providers.Configuration(yaml_files=[yaml_config_file_1, yaml_config_file_2])
+ else:
+ raise ValueError("Undefined config type \"{0}\"".format(config_type))
+
+
+def test_load(config):
+ config.load()
+
+ assert config() == {
+ "section1": {
+ "value1": 11,
+ "value11": 11,
+ },
+ "section2": {
+ "value2": 2,
+ },
+ "section3": {
+ "value3": 3,
+ },
+ }
+ assert config.section1() == {"value1": 11, "value11": 11}
+ assert config.section1.value1() == 11
+ assert config.section1.value11() == 11
+ assert config.section2() == {"value2": 2}
+ assert config.section2.value2() == 2
+ assert config.section3() == {"value3": 3}
+ assert config.section3.value3() == 3
+
+
+def test_get_files(config, yaml_config_file_1, yaml_config_file_2):
+ assert config.get_yaml_files() == [yaml_config_file_1, yaml_config_file_2]
+
+
+def test_set_files(config):
+ config.set_yaml_files(["file1.yml", "file2.yml"])
+ assert config.get_yaml_files() == ["file1.yml", "file2.yml"]
+
+
+def test_file_does_not_exist(config):
+ config.set_yaml_files(["./does_not_exist.yml"])
+ config.load()
+ assert config() == {}
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_file_does_not_exist_strict_mode(config):
+ config.set_yaml_files(["./does_not_exist.yml"])
+ with raises(IOError):
+ config.load()
+ assert config() == {}
+
+
+def test_required_file_does_not_exist(config):
+ config.set_yaml_files(["./does_not_exist.yml"])
+ with raises(IOError):
+ config.load(required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_not_required_file_does_not_exist_strict_mode(config):
+ config.set_yaml_files(["./does_not_exist.yml"])
+ config.load(required=False)
+ assert config() == {}
+
+
+def test_missing_envs_required(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ config.set_yaml_files([yaml_config_file_3])
+ with raises(ValueError, match="Missing required environment variable \"UNDEFINED\""):
+ config.load(envs_required=True)
+
+
+@mark.parametrize("config_type", ["strict"])
+def test_missing_envs_not_required_in_strict_mode(config, yaml_config_file_3):
+ with open(yaml_config_file_3, "w") as file:
+ file.write(
+ "section:\n"
+ " undefined: ${UNDEFINED}\n"
+ )
+ config.set_yaml_files([yaml_config_file_3])
+ config.load(envs_required=False)
+ assert config.section.undefined() is None
diff --git a/tests/unit/providers/coroutines/__init__.py b/tests/unit/providers/coroutines/__init__.py
new file mode 100644
index 00000000..90a8072d
--- /dev/null
+++ b/tests/unit/providers/coroutines/__init__.py
@@ -0,0 +1 @@
+"""Tests for coroutine providers."""
diff --git a/tests/unit/providers/coroutines/common.py b/tests/unit/providers/coroutines/common.py
new file mode 100644
index 00000000..e092bc46
--- /dev/null
+++ b/tests/unit/providers/coroutines/common.py
@@ -0,0 +1,5 @@
+"""Common test artifacts."""
+
+
+async def example(arg1, arg2, arg3, arg4):
+ return arg1, arg2, arg3, arg4
diff --git a/tests/unit/providers/coroutines/test_abstract_coroutine_py35.py b/tests/unit/providers/coroutines/test_abstract_coroutine_py35.py
new file mode 100644
index 00000000..4f098442
--- /dev/null
+++ b/tests/unit/providers/coroutines/test_abstract_coroutine_py35.py
@@ -0,0 +1,66 @@
+"""AbstractCoroutine provider tests."""
+
+import asyncio
+
+from dependency_injector import providers, errors
+from pytest import mark, raises
+
+from .common import example
+
+
+def test_inheritance():
+ assert isinstance(providers.AbstractCoroutine(example), providers.Coroutine)
+
+
+@mark.asyncio
+@mark.filterwarnings("ignore")
+async def test_call_overridden_by_coroutine():
+ @asyncio.coroutine
+ def abstract_example():
+ raise RuntimeError("Should not be raised")
+
+ provider = providers.AbstractCoroutine(abstract_example)
+ provider.override(providers.Coroutine(example))
+
+ result = await provider(1, 2, 3, 4)
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+@mark.filterwarnings("ignore")
+async def test_call_overridden_by_delegated_coroutine():
+ @asyncio.coroutine
+ def abstract_example():
+ raise RuntimeError("Should not be raised")
+
+ provider = providers.AbstractCoroutine(abstract_example)
+ provider.override(providers.DelegatedCoroutine(example))
+
+ result = await provider(1, 2, 3, 4)
+ assert result == (1, 2, 3, 4)
+
+
+def test_call_not_overridden():
+ provider = providers.AbstractCoroutine(example)
+ with raises(errors.Error):
+ provider(1, 2, 3, 4)
+
+
+def test_override_by_not_coroutine():
+ provider = providers.AbstractCoroutine(example)
+ with raises(errors.Error):
+ provider.override(providers.Factory(object))
+
+
+def test_provide_not_implemented():
+ provider = providers.AbstractCoroutine(example)
+ with raises(NotImplementedError):
+ provider._provide((1, 2, 3, 4), dict())
+
+
+def test_repr():
+ provider = providers.AbstractCoroutine(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/coroutines/test_coroutine_delegate_py35.py b/tests/unit/providers/coroutines/test_coroutine_delegate_py35.py
new file mode 100644
index 00000000..d21b30c7
--- /dev/null
+++ b/tests/unit/providers/coroutines/test_coroutine_delegate_py35.py
@@ -0,0 +1,17 @@
+"""CoroutineDelegate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import example
+
+
+def test_is_delegate():
+ provider = providers.Coroutine(example)
+ delegate = providers.CoroutineDelegate(provider)
+ assert isinstance(delegate, providers.Delegate)
+
+
+def test_init_with_not_coroutine():
+ with raises(errors.Error):
+ providers.CoroutineDelegate(providers.Object(object()))
diff --git a/tests/unit/providers/coroutines/test_coroutine_py35.py b/tests/unit/providers/coroutines/test_coroutine_py35.py
new file mode 100644
index 00000000..09a8a946
--- /dev/null
+++ b/tests/unit/providers/coroutines/test_coroutine_py35.py
@@ -0,0 +1,199 @@
+"""Coroutine provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import mark, raises
+
+from .common import example
+
+
+def test_init_with_coroutine():
+ assert isinstance(providers.Coroutine(example), providers.Coroutine)
+
+
+def test_init_with_not_coroutine():
+ with raises(errors.Error):
+ providers.Coroutine(lambda: None)
+
+
+@mark.asyncio
+async def test_init_optional_provides():
+ provider = providers.Coroutine()
+ provider.set_provides(example)
+
+ result = await provider(1, 2, 3, 4)
+
+ assert result == (1, 2, 3, 4)
+ assert provider.provides is example
+
+
+def test_set_provides_returns_self():
+ provider = providers.Coroutine()
+ assert provider.set_provides(example) is provider
+
+
+@mark.asyncio
+async def test_call_with_positional_args():
+ provider = providers.Coroutine(example, 1, 2, 3, 4)
+ result = await provider()
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_call_with_keyword_args():
+ provider = providers.Coroutine(example, arg1=1, arg2=2, arg3=3, arg4=4)
+ result = await provider()
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_call_with_positional_and_keyword_args():
+ provider = providers.Coroutine(example, 1, 2, arg3=3, arg4=4)
+ result = await provider()
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_call_with_context_args():
+ provider = providers.Coroutine(example, 1, 2)
+ result = await provider(3, 4)
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_call_with_context_kwargs():
+ provider = providers.Coroutine(example, arg1=1)
+ result = await provider(arg2=2, arg3=3, arg4=4)
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_call_with_context_args_and_kwargs():
+ provider = providers.Coroutine(example, 1)
+ result = await provider(2, arg3=3, arg4=4)
+ assert result == (1, 2, 3, 4)
+
+
+@mark.asyncio
+async def test_fluent_interface():
+ provider = providers.Coroutine(example) \
+ .add_args(1, 2) \
+ .add_kwargs(arg3=3, arg4=4)
+ result = await provider()
+ assert result == (1, 2, 3, 4)
+
+
+def test_set_args():
+ provider = providers.Coroutine(example) \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
+
+
+def test_set_kwargs():
+ provider = providers.Coroutine(example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .set_kwargs(init_arg3=4, init_arg4=5)
+ assert provider.kwargs == dict(init_arg3=4, init_arg4=5)
+
+
+def test_clear_args():
+ provider = providers.Coroutine(example) \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
+
+
+def test_clear_kwargs():
+ provider = providers.Coroutine(example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .clear_kwargs()
+ assert provider.kwargs == dict()
+
+
+def test_call_overridden():
+ provider = providers.Coroutine(example)
+
+ provider.override(providers.Object((4, 3, 2, 1)))
+ provider.override(providers.Object((1, 2, 3, 4)))
+
+ assert provider() == (1, 2, 3, 4)
+
+
+def test_deepcopy():
+ provider = providers.Coroutine(example)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert provider.provides is provider_copy.provides
+ assert isinstance(provider, providers.Coroutine)
+
+
+def test_deepcopy_from_memo():
+ provider = providers.Coroutine(example)
+ provider_copy_memo = providers.Coroutine(example)
+
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_args():
+ provider = providers.Coroutine(example)
+ dependent_provider1 = providers.Callable(list)
+ dependent_provider2 = providers.Callable(dict)
+
+ provider.add_args(dependent_provider1, dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
+
+ assert dependent_provider1.provides is dependent_provider_copy1.provides
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.provides is dependent_provider_copy2.provides
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs():
+ provider = providers.Coroutine(example)
+ dependent_provider1 = providers.Callable(list)
+ dependent_provider2 = providers.Callable(dict)
+
+ provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["a1"]
+ dependent_provider_copy2 = provider_copy.kwargs["a2"]
+
+ assert dependent_provider1.provides is dependent_provider_copy1.provides
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.provides is dependent_provider_copy2.provides
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden():
+ provider = providers.Coroutine(example)
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.provides is provider_copy.provides
+ assert isinstance(provider, providers.Callable)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_repr():
+ provider = providers.Coroutine(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/coroutines/test_delegated_coroutine_py35.py b/tests/unit/providers/coroutines/test_delegated_coroutine_py35.py
new file mode 100644
index 00000000..96de0036
--- /dev/null
+++ b/tests/unit/providers/coroutines/test_delegated_coroutine_py35.py
@@ -0,0 +1,26 @@
+"""DelegatedCoroutine provider tests."""
+
+from dependency_injector import providers
+
+from .common import example
+
+
+def test_inheritance():
+ assert isinstance(providers.DelegatedCoroutine(example), providers.Coroutine)
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.DelegatedCoroutine(example)) is True
+
+
+def test_is_delegated_provider():
+ provider = providers.DelegatedCoroutine(example)
+ assert providers.is_delegated(provider) is True
+
+
+def test_repr():
+ provider = providers.DelegatedCoroutine(example)
+ assert repr(provider) == (
+ "".format(repr(example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/factories/__init__.py b/tests/unit/providers/factories/__init__.py
new file mode 100644
index 00000000..8642fd5c
--- /dev/null
+++ b/tests/unit/providers/factories/__init__.py
@@ -0,0 +1 @@
+"""Tests for factories."""
diff --git a/tests/unit/providers/factories/common.py b/tests/unit/providers/factories/common.py
new file mode 100644
index 00000000..21c88738
--- /dev/null
+++ b/tests/unit/providers/factories/common.py
@@ -0,0 +1,20 @@
+"""Common test artifacts."""
+
+
+class Example:
+ def __init__(self, init_arg1=None, init_arg2=None, init_arg3=None, init_arg4=None):
+ self.init_arg1 = init_arg1
+ self.init_arg2 = init_arg2
+ self.init_arg3 = init_arg3
+ self.init_arg4 = init_arg4
+
+ self.attribute1 = None
+ self.attribute2 = None
+
+
+class ExampleA(Example):
+ pass
+
+
+class ExampleB(Example):
+ pass
diff --git a/tests/unit/providers/factories/test_abstract_factory_py2_py3.py b/tests/unit/providers/factories/test_abstract_factory_py2_py3.py
new file mode 100644
index 00000000..b8dc9d0e
--- /dev/null
+++ b/tests/unit/providers/factories/test_abstract_factory_py2_py3.py
@@ -0,0 +1,48 @@
+"""AbstractFactory provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import Example
+
+
+def test_inheritance():
+ assert isinstance(providers.AbstractFactory(Example), providers.Factory)
+
+
+def test_call_overridden_by_factory():
+ provider = providers.AbstractFactory(object)
+ provider.override(providers.Factory(Example))
+ assert isinstance(provider(), Example)
+
+
+def test_call_overridden_by_delegated_factory():
+ provider = providers.AbstractFactory(object)
+ provider.override(providers.DelegatedFactory(Example))
+ assert isinstance(provider(), Example)
+
+
+def test_call_not_overridden():
+ provider = providers.AbstractFactory(object)
+ with raises(errors.Error):
+ provider()
+
+
+def test_override_by_not_factory():
+ provider = providers.AbstractFactory(object)
+ with raises(errors.Error):
+ provider.override(providers.Callable(object))
+
+
+def test_provide_not_implemented():
+ provider = providers.AbstractFactory(Example)
+ with raises(NotImplementedError):
+ provider._provide(tuple(), dict())
+
+
+def test_repr():
+ provider = providers.AbstractFactory(Example)
+ assert repr(provider) == (
+ "".format(repr(Example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/factories/test_delegated_factory_py2_py3.py b/tests/unit/providers/factories/test_delegated_factory_py2_py3.py
new file mode 100644
index 00000000..7fde2a87
--- /dev/null
+++ b/tests/unit/providers/factories/test_delegated_factory_py2_py3.py
@@ -0,0 +1,25 @@
+"""DelegatedFactory provider tests."""
+
+from dependency_injector import providers
+
+from .common import Example
+
+
+def test_inheritance():
+ assert isinstance(providers.DelegatedFactory(object), providers.Factory)
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.DelegatedFactory(object)) is True
+
+
+def test_is_delegated_provider():
+ assert providers.is_delegated(providers.DelegatedFactory(object)) is True
+
+
+def test_repr():
+ provider = providers.DelegatedFactory(Example)
+ assert repr(provider) == (
+ "".format(repr(Example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/factories/test_factory_aggregate_py2_py3.py b/tests/unit/providers/factories/test_factory_aggregate_py2_py3.py
new file mode 100644
index 00000000..269e24fb
--- /dev/null
+++ b/tests/unit/providers/factories/test_factory_aggregate_py2_py3.py
@@ -0,0 +1,229 @@
+"""FactoryAggregate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import fixture, mark, raises
+
+from .common import ExampleA, ExampleB
+
+
+@fixture
+def factory_a():
+ return providers.Factory(ExampleA)
+
+
+@fixture
+def factory_b():
+ return providers.Factory(ExampleB)
+
+
+@fixture
+def factory_type():
+ return "default"
+
+
+@fixture
+def factory_aggregate(factory_type, factory_a, factory_b):
+ if factory_type == "empty":
+ return providers.FactoryAggregate()
+ elif factory_type == "non-string-keys":
+ return providers.FactoryAggregate({
+ ExampleA: factory_a,
+ ExampleB: factory_b,
+ })
+ elif factory_type == "default":
+ return providers.FactoryAggregate(
+ example_a=factory_a,
+ example_b=factory_b,
+ )
+ else:
+ raise ValueError("Unknown factory type \"{0}\"".format(factory_type))
+
+
+def test_is_provider(factory_aggregate):
+ assert providers.is_provider(factory_aggregate) is True
+
+
+def test_is_delegated_provider(factory_aggregate):
+ assert providers.is_delegated(factory_aggregate) is True
+
+
+@mark.parametrize("factory_type", ["non-string-keys"])
+def test_init_with_non_string_keys(factory_aggregate, factory_a, factory_b):
+ object_a = factory_aggregate(ExampleA, 1, 2, init_arg3=3, init_arg4=4)
+ object_b = factory_aggregate(ExampleB, 11, 22, init_arg3=33, init_arg4=44)
+
+ assert isinstance(object_a, ExampleA)
+ assert object_a.init_arg1 == 1
+ assert object_a.init_arg2 == 2
+ assert object_a.init_arg3 == 3
+ assert object_a.init_arg4 == 4
+
+ assert isinstance(object_b, ExampleB)
+ assert object_b.init_arg1 == 11
+ assert object_b.init_arg2 == 22
+ assert object_b.init_arg3 == 33
+ assert object_b.init_arg4 == 44
+
+ assert factory_aggregate.factories == {
+ ExampleA: factory_a,
+ ExampleB: factory_b,
+ }
+
+
+def test_init_with_not_a_factory():
+ with raises(errors.Error):
+ providers.FactoryAggregate(
+ example_a=providers.Factory(ExampleA),
+ example_b=object(),
+ )
+
+
+@mark.parametrize("factory_type", ["empty"])
+def test_init_optional_factories(factory_aggregate, factory_a, factory_b):
+ factory_aggregate.set_factories(
+ example_a=factory_a,
+ example_b=factory_b,
+ )
+ assert factory_aggregate.factories == {
+ "example_a": factory_a,
+ "example_b": factory_b,
+ }
+ assert isinstance(factory_aggregate("example_a"), ExampleA)
+ assert isinstance(factory_aggregate("example_b"), ExampleB)
+
+
+@mark.parametrize("factory_type", ["non-string-keys"])
+def test_set_factories_with_non_string_keys(factory_aggregate, factory_a, factory_b):
+ factory_aggregate.set_factories({
+ ExampleA: factory_a,
+ ExampleB: factory_b,
+ })
+
+ object_a = factory_aggregate(ExampleA, 1, 2, init_arg3=3, init_arg4=4)
+ object_b = factory_aggregate(ExampleB, 11, 22, init_arg3=33, init_arg4=44)
+
+ assert isinstance(object_a, ExampleA)
+ assert object_a.init_arg1 == 1
+ assert object_a.init_arg2 == 2
+ assert object_a.init_arg3 == 3
+ assert object_a.init_arg4 == 4
+
+ assert isinstance(object_b, ExampleB)
+ assert object_b.init_arg1 == 11
+ assert object_b.init_arg2 == 22
+ assert object_b.init_arg3 == 33
+ assert object_b.init_arg4 == 44
+
+ assert factory_aggregate.factories == {
+ ExampleA: factory_a,
+ ExampleB: factory_b,
+ }
+
+
+def test_set_factories_returns_self(factory_aggregate, factory_a):
+ assert factory_aggregate.set_factories(example_a=factory_a) is factory_aggregate
+
+
+def test_call(factory_aggregate):
+ object_a = factory_aggregate("example_a", 1, 2, init_arg3=3, init_arg4=4)
+ object_b = factory_aggregate("example_b", 11, 22, init_arg3=33, init_arg4=44)
+
+ assert isinstance(object_a, ExampleA)
+ assert object_a.init_arg1 == 1
+ assert object_a.init_arg2 == 2
+ assert object_a.init_arg3 == 3
+ assert object_a.init_arg4 == 4
+
+ assert isinstance(object_b, ExampleB)
+ assert object_b.init_arg1 == 11
+ assert object_b.init_arg2 == 22
+ assert object_b.init_arg3 == 33
+ assert object_b.init_arg4 == 44
+
+
+def test_call_factory_name_as_kwarg(factory_aggregate):
+ object_a = factory_aggregate(
+ factory_name="example_a",
+ init_arg1=1,
+ init_arg2=2,
+ init_arg3=3,
+ init_arg4=4,
+ )
+ assert isinstance(object_a, ExampleA)
+ assert object_a.init_arg1 == 1
+ assert object_a.init_arg2 == 2
+ assert object_a.init_arg3 == 3
+ assert object_a.init_arg4 == 4
+
+
+def test_call_no_factory_name(factory_aggregate):
+ with raises(TypeError):
+ factory_aggregate()
+
+
+def test_call_no_such_provider(factory_aggregate):
+ with raises(errors.NoSuchProviderError):
+ factory_aggregate("unknown")
+
+
+def test_overridden(factory_aggregate):
+ with raises(errors.Error):
+ factory_aggregate.override(providers.Object(object()))
+
+
+def test_getattr(factory_aggregate, factory_a, factory_b):
+ assert factory_aggregate.example_a is factory_a
+ assert factory_aggregate.example_b is factory_b
+
+
+def test_getattr_no_such_provider(factory_aggregate):
+ with raises(errors.NoSuchProviderError):
+ factory_aggregate.unknown
+
+
+def test_factories(factory_aggregate, factory_a, factory_b):
+ assert factory_aggregate.factories == dict(
+ example_a=factory_a,
+ example_b=factory_b,
+ )
+
+
+def test_deepcopy(factory_aggregate):
+ provider_copy = providers.deepcopy(factory_aggregate)
+
+ assert factory_aggregate is not provider_copy
+ assert isinstance(provider_copy, type(factory_aggregate))
+
+ assert factory_aggregate.example_a is not provider_copy.example_a
+ assert isinstance(factory_aggregate.example_a, type(provider_copy.example_a))
+ assert factory_aggregate.example_a.cls is provider_copy.example_a.cls
+
+ assert factory_aggregate.example_b is not provider_copy.example_b
+ assert isinstance(factory_aggregate.example_b, type(provider_copy.example_b))
+ assert factory_aggregate.example_b.cls is provider_copy.example_b.cls
+
+
+@mark.parametrize("factory_type", ["non-string-keys"])
+def test_deepcopy_with_non_string_keys(factory_aggregate):
+ provider_copy = providers.deepcopy(factory_aggregate)
+
+ assert factory_aggregate is not provider_copy
+ assert isinstance(provider_copy, type(factory_aggregate))
+
+ assert factory_aggregate.factories[ExampleA] is not provider_copy.factories[ExampleA]
+ assert isinstance(factory_aggregate.factories[ExampleA], type(provider_copy.factories[ExampleA]))
+ assert factory_aggregate.factories[ExampleA].cls is provider_copy.factories[ExampleA].cls
+
+ assert factory_aggregate.factories[ExampleB] is not provider_copy.factories[ExampleB]
+ assert isinstance(factory_aggregate.factories[ExampleB], type(provider_copy.factories[ExampleB]))
+ assert factory_aggregate.factories[ExampleB].cls is provider_copy.factories[ExampleB].cls
+
+
+def test_repr(factory_aggregate):
+ assert repr(factory_aggregate) == (
+ "".format(
+ repr(factory_aggregate.factories),
+ hex(id(factory_aggregate)),
+ )
+ )
diff --git a/tests/unit/providers/factories/test_factory_delegate_py2_py3.py b/tests/unit/providers/factories/test_factory_delegate_py2_py3.py
new file mode 100644
index 00000000..33fc30c4
--- /dev/null
+++ b/tests/unit/providers/factories/test_factory_delegate_py2_py3.py
@@ -0,0 +1,23 @@
+"""Factory delegate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import fixture, raises
+
+
+@fixture
+def factory():
+ return providers.Factory(object)
+
+
+@fixture
+def delegate(factory):
+ return providers.FactoryDelegate(factory)
+
+
+def test_is_delegate(delegate):
+ assert isinstance(delegate, providers.Delegate)
+
+
+def test_init_with_not_factory():
+ with raises(errors.Error):
+ providers.FactoryDelegate(providers.Object(object()))
diff --git a/tests/unit/providers/factories/test_factory_py2_py3.py b/tests/unit/providers/factories/test_factory_py2_py3.py
new file mode 100644
index 00000000..ce08006e
--- /dev/null
+++ b/tests/unit/providers/factories/test_factory_py2_py3.py
@@ -0,0 +1,408 @@
+"""Factory provider tests."""
+
+import sys
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import Example
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.Factory(Example)) is True
+
+
+def test_init_with_not_callable():
+ with raises(errors.Error):
+ providers.Factory(123)
+
+
+def test_init_optional_provides():
+ provider = providers.Factory()
+ provider.set_provides(object)
+ assert provider.provides is object
+ assert isinstance(provider(), object)
+
+
+def test_set_provides_returns_():
+ provider = providers.Factory()
+ assert provider.set_provides(object) is provider
+
+
+def test_init_with_valid_provided_type():
+ class ExampleProvider(providers.Factory):
+ provided_type = Example
+
+ example_provider = ExampleProvider(Example, 1, 2)
+
+ assert isinstance(example_provider(), Example)
+
+
+def test_init_with_valid_provided_subtype():
+ class ExampleProvider(providers.Factory):
+ provided_type = Example
+
+ class NewExample(Example):
+ pass
+
+ example_provider = ExampleProvider(NewExample, 1, 2)
+ assert isinstance(example_provider(), NewExample)
+
+
+def test_init_with_invalid_provided_type():
+ class ExampleProvider(providers.Factory):
+ provided_type = Example
+
+ with raises(errors.Error):
+ ExampleProvider(list)
+
+
+def test_provided_instance_provider():
+ provider = providers.Factory(Example)
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_call():
+ provider = providers.Factory(Example)
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_positional_args():
+ provider = providers.Factory(Example, "i1", "i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_keyword_args():
+ provider = providers.Factory(Example, init_arg1="i1", init_arg2="i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_positional_and_keyword_args():
+ provider = providers.Factory(Example, "i1", init_arg2="i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_attributes():
+ provider = providers.Factory(Example)
+ provider.add_attributes(attribute1="a1", attribute2="a2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.attribute1 == "a1"
+ assert instance1.attribute2 == "a2"
+
+ assert instance2.attribute1 == "a1"
+ assert instance2.attribute2 == "a2"
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_context_args():
+ provider = providers.Factory(Example, 11, 22)
+
+ instance = provider(33, 44)
+
+ assert instance.init_arg1 == 11
+ assert instance.init_arg2 == 22
+ assert instance.init_arg3 == 33
+ assert instance.init_arg4 == 44
+
+
+def test_call_with_context_kwargs():
+ provider = providers.Factory(Example, init_arg1=1)
+
+ instance1 = provider(init_arg2=22)
+ assert instance1.init_arg1 == 1
+ assert instance1.init_arg2 == 22
+
+ instance2 = provider(init_arg1=11, init_arg2=22)
+ assert instance2.init_arg1 == 11
+ assert instance2.init_arg2 == 22
+
+
+def test_call_with_context_args_and_kwargs():
+ provider = providers.Factory(Example, 11)
+
+ instance = provider(22, init_arg3=33, init_arg4=44)
+
+ assert instance.init_arg1 == 11
+ assert instance.init_arg2 == 22
+ assert instance.init_arg3 == 33
+ assert instance.init_arg4 == 44
+
+
+def test_call_with_deep_context_kwargs():
+ class Regularizer:
+ def __init__(self, alpha):
+ self.alpha = alpha
+
+ class Loss:
+ def __init__(self, regularizer):
+ self.regularizer = regularizer
+
+ class ClassificationTask:
+ def __init__(self, loss):
+ self.loss = loss
+
+ class Algorithm:
+ def __init__(self, task):
+ self.task = task
+
+ algorithm_factory = providers.Factory(
+ Algorithm,
+ task=providers.Factory(
+ ClassificationTask,
+ loss=providers.Factory(
+ Loss,
+ regularizer=providers.Factory(
+ Regularizer,
+ ),
+ ),
+ ),
+ )
+
+ algorithm_1 = algorithm_factory(task__loss__regularizer__alpha=0.5)
+ algorithm_2 = algorithm_factory(task__loss__regularizer__alpha=0.7)
+ algorithm_3 = algorithm_factory(task__loss__regularizer=Regularizer(alpha=0.8))
+
+ assert algorithm_1.task.loss.regularizer.alpha == 0.5
+ assert algorithm_2.task.loss.regularizer.alpha == 0.7
+ assert algorithm_3.task.loss.regularizer.alpha == 0.8
+
+
+def test_fluent_interface():
+ provider = providers.Factory(Example) \
+ .add_args(1, 2) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .add_attributes(attribute1=5, attribute2=6)
+
+ instance = provider()
+
+ assert instance.init_arg1 == 1
+ assert instance.init_arg2 == 2
+ assert instance.init_arg3 == 3
+ assert instance.init_arg4 == 4
+ assert instance.attribute1 == 5
+ assert instance.attribute2 == 6
+
+
+def test_set_args():
+ provider = providers.Factory(Example) \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
+
+
+def test_set_kwargs():
+ provider = providers.Factory(Example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .set_kwargs(init_arg3=4, init_arg4=5)
+ assert provider.kwargs == dict(init_arg3=4, init_arg4=5)
+
+
+def test_set_attributes():
+ provider = providers.Factory(Example) \
+ .add_attributes(attribute1=5, attribute2=6) \
+ .set_attributes(attribute1=6, attribute2=7)
+ assert provider.attributes == dict(attribute1=6, attribute2=7)
+
+
+def test_clear_args():
+ provider = providers.Factory(Example) \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
+
+
+def test_clear_kwargs():
+ provider = providers.Factory(Example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .clear_kwargs()
+ assert provider.kwargs == dict()
+
+
+def test_clear_attributes():
+ provider = providers.Factory(Example) \
+ .add_attributes(attribute1=5, attribute2=6) \
+ .clear_attributes()
+ assert provider.attributes == dict()
+
+
+def test_call_overridden():
+ provider = providers.Factory(Example)
+ overriding_provider1 = providers.Factory(dict)
+ overriding_provider2 = providers.Factory(list)
+
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, list)
+ assert isinstance(instance2, list)
+
+
+def test_deepcopy():
+ provider = providers.Factory(Example)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert provider.cls is provider_copy.cls
+ assert isinstance(provider, providers.Factory)
+
+
+def test_deepcopy_from_memo():
+ provider = providers.Factory(Example)
+ provider_copy_memo = providers.Factory(Example)
+
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_args():
+ provider = providers.Factory(Example)
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider.add_args(dependent_provider1, dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
+
+ assert provider.args != provider_copy.args
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs():
+ provider = providers.Factory(Example)
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["a1"]
+ dependent_provider_copy2 = provider_copy.kwargs["a2"]
+
+ assert provider.kwargs != provider_copy.kwargs
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_attributes():
+ provider = providers.Factory(Example)
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.attributes["a1"]
+ dependent_provider_copy2 = provider_copy.attributes["a2"]
+
+ assert provider.attributes != provider_copy.attributes
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden():
+ provider = providers.Factory(Example)
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.cls is provider_copy.cls
+ assert isinstance(provider, providers.Factory)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams():
+ provider = providers.Factory(Example)
+ provider.add_args(sys.stdin)
+ provider.add_kwargs(a2=sys.stdout)
+ provider.add_attributes(a3=sys.stderr)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, providers.Factory)
+ assert provider.args[0] is sys.stdin
+ assert provider.kwargs["a2"] is sys.stdout
+ assert provider.attributes["a3"] is sys.stderr
+
+
+def test_repr():
+ provider = providers.Factory(Example)
+ assert repr(provider) == (
+ "".format(repr(Example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/injections/__init__.py b/tests/unit/providers/injections/__init__.py
new file mode 100644
index 00000000..9de62e7f
--- /dev/null
+++ b/tests/unit/providers/injections/__init__.py
@@ -0,0 +1 @@
+"""Tests for injection objects."""
diff --git a/tests/unit/providers/injections/test_named_py2_py3.py b/tests/unit/providers/injections/test_named_py2_py3.py
new file mode 100644
index 00000000..7d88db93
--- /dev/null
+++ b/tests/unit/providers/injections/test_named_py2_py3.py
@@ -0,0 +1,55 @@
+"""Named injection tests."""
+
+from dependency_injector import providers
+
+
+def test_isinstance():
+ injection = providers.NamedInjection("name", 1)
+ assert isinstance(injection, providers.Injection)
+
+
+def test_get_name():
+ injection = providers.NamedInjection("name", 123)
+ assert injection.get_name() == "name"
+
+
+def test_get_value_with_not_provider():
+ injection = providers.NamedInjection("name", 123)
+ assert injection.get_value() == 123
+
+
+def test_get_value_with_factory():
+ injection = providers.NamedInjection("name", providers.Factory(object))
+
+ obj1 = injection.get_value()
+ obj2 = injection.get_value()
+
+ assert type(obj1) is object
+ assert type(obj2) is object
+ assert obj1 is not obj2
+
+
+def test_get_original_value():
+ provider = providers.Factory(object)
+ injection = providers.NamedInjection("name", provider)
+ assert injection.get_original_value() is provider
+
+
+def test_deepcopy():
+ provider = providers.Factory(object)
+ injection = providers.NamedInjection("name", provider)
+
+ injection_copy = providers.deepcopy(injection)
+
+ assert injection_copy is not injection
+ assert injection_copy.get_original_value() is not injection.get_original_value()
+
+def test_deepcopy_memo():
+ provider = providers.Factory(object)
+ injection = providers.NamedInjection("name", provider)
+ injection_copy_orig = providers.NamedInjection("name", provider)
+
+ injection_copy = providers.deepcopy(injection, {id(injection): injection_copy_orig})
+
+ assert injection_copy is injection_copy_orig
+ assert injection_copy.get_original_value() is injection.get_original_value()
diff --git a/tests/unit/providers/injections/test_positional_py2_py3.py b/tests/unit/providers/injections/test_positional_py2_py3.py
new file mode 100644
index 00000000..9cf41464
--- /dev/null
+++ b/tests/unit/providers/injections/test_positional_py2_py3.py
@@ -0,0 +1,51 @@
+"""Positional injection tests."""
+
+from dependency_injector import providers
+
+
+def test_isinstance():
+ injection = providers.PositionalInjection(1)
+ assert isinstance(injection, providers.Injection)
+
+
+def test_get_value_with_not_provider():
+ injection = providers.PositionalInjection(123)
+ assert injection.get_value() == 123
+
+
+def test_get_value_with_factory():
+ injection = providers.PositionalInjection(providers.Factory(object))
+
+ obj1 = injection.get_value()
+ obj2 = injection.get_value()
+
+ assert type(obj1) is object
+ assert type(obj2) is object
+ assert obj1 is not obj2
+
+
+def test_get_original_value():
+ provider = providers.Factory(object)
+ injection = providers.PositionalInjection(provider)
+ assert injection.get_original_value() is provider
+
+
+def test_deepcopy():
+ provider = providers.Factory(object)
+ injection = providers.PositionalInjection(provider)
+
+ injection_copy = providers.deepcopy(injection)
+
+ assert injection_copy is not injection
+ assert injection_copy.get_original_value() is not injection.get_original_value()
+
+
+def test_deepcopy_memo():
+ provider = providers.Factory(object)
+ injection = providers.PositionalInjection(provider)
+ injection_copy_orig = providers.PositionalInjection(provider)
+
+ injection_copy = providers.deepcopy(injection, {id(injection): injection_copy_orig})
+
+ assert injection_copy is injection_copy_orig
+ assert injection_copy.get_original_value() is injection.get_original_value()
diff --git a/tests/unit/providers/resource/__init__.py b/tests/unit/providers/resource/__init__.py
new file mode 100644
index 00000000..888679fd
--- /dev/null
+++ b/tests/unit/providers/resource/__init__.py
@@ -0,0 +1 @@
+"""Resource provider tests."""
\ No newline at end of file
diff --git a/tests/unit/providers/resource/test_async_resource_py35.py b/tests/unit/providers/resource/test_async_resource_py35.py
new file mode 100644
index 00000000..ba983d60
--- /dev/null
+++ b/tests/unit/providers/resource/test_async_resource_py35.py
@@ -0,0 +1,308 @@
+"""Resource provider async tests."""
+
+import asyncio
+import inspect
+import sys
+from typing import Any
+
+from dependency_injector import containers, providers, resources
+from pytest import mark, raises
+
+
+@mark.asyncio
+async def test_init_async_function():
+ resource = object()
+
+ async def _init():
+ await asyncio.sleep(0.001)
+ _init.counter += 1
+ return resource
+
+ _init.counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1 = await provider()
+ assert result1 is resource
+ assert _init.counter == 1
+
+ result2 = await provider()
+ assert result2 is resource
+ assert _init.counter == 1
+
+ await provider.shutdown()
+
+
+@mark.asyncio
+@mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+")
+async def test_init_async_generator():
+ resource = object()
+
+ async def _init():
+ await asyncio.sleep(0.001)
+ _init.init_counter += 1
+
+ yield resource
+
+ await asyncio.sleep(0.001)
+ _init.shutdown_counter += 1
+
+ _init.init_counter = 0
+ _init.shutdown_counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1 = await provider()
+ assert result1 is resource
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 0
+
+ await provider.shutdown()
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 1
+
+ result2 = await provider()
+ assert result2 is resource
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 1
+
+ await provider.shutdown()
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 2
+
+
+@mark.asyncio
+async def test_init_async_class():
+ resource = object()
+
+ class TestResource(resources.AsyncResource):
+ init_counter = 0
+ shutdown_counter = 0
+
+ async def init(self):
+ await asyncio.sleep(0.001)
+ self.__class__.init_counter += 1
+ return resource
+
+ async def shutdown(self, resource_):
+ await asyncio.sleep(0.001)
+ self.__class__.shutdown_counter += 1
+ assert resource_ is resource
+
+ provider = providers.Resource(TestResource)
+
+ result1 = await provider()
+ assert result1 is resource
+ assert TestResource.init_counter == 1
+ assert TestResource.shutdown_counter == 0
+
+ await provider.shutdown()
+ assert TestResource.init_counter == 1
+ assert TestResource.shutdown_counter == 1
+
+ result2 = await provider()
+ assert result2 is resource
+ assert TestResource.init_counter == 2
+ assert TestResource.shutdown_counter == 1
+
+ await provider.shutdown()
+ assert TestResource.init_counter == 2
+ assert TestResource.shutdown_counter == 2
+
+
+def test_init_async_class_generic_typing():
+ # See issue: https://github.com/ets-labs/python-dependency-injector/issues/488
+ class TestDependency:
+ ...
+
+ class TestAsyncResource(resources.AsyncResource[TestDependency]):
+ async def init(self, *args: Any, **kwargs: Any) -> TestDependency:
+ return TestDependency()
+
+ async def shutdown(self, resource: TestDependency) -> None: ...
+
+ assert issubclass(TestAsyncResource, resources.AsyncResource) is True
+
+
+def test_init_async_class_abc_init_definition_is_required():
+ class TestAsyncResource(resources.AsyncResource):
+ ...
+
+ with raises(TypeError) as context:
+ TestAsyncResource()
+
+ assert "Can't instantiate abstract class TestAsyncResource" in str(context.value)
+ assert "init" in str(context.value)
+
+
+def test_init_async_class_abc_shutdown_definition_is_not_required():
+ class TestAsyncResource(resources.AsyncResource):
+ async def init(self):
+ ...
+
+ assert hasattr(TestAsyncResource(), "shutdown") is True
+ assert inspect.iscoroutinefunction(TestAsyncResource.shutdown) is True
+
+
+@mark.asyncio
+async def test_init_with_error():
+ async def _init():
+ raise RuntimeError()
+
+ provider = providers.Resource(_init)
+
+ future = provider()
+ assert provider.initialized is True
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await future
+
+ assert provider.initialized is False
+ assert provider.is_async_mode_enabled() is True
+
+
+@mark.asyncio
+async def test_init_async_gen_with_error():
+ async def _init():
+ raise RuntimeError()
+ yield
+
+ provider = providers.Resource(_init)
+
+ future = provider()
+ assert provider.initialized is True
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await future
+
+ assert provider.initialized is False
+ assert provider.is_async_mode_enabled() is True
+
+
+@mark.asyncio
+async def test_init_async_subclass_with_error():
+ class _Resource(resources.AsyncResource):
+ async def init(self):
+ raise RuntimeError()
+
+ async def shutdown(self, resource):
+ pass
+
+ provider = providers.Resource(_Resource)
+
+ future = provider()
+ assert provider.initialized is True
+ assert provider.is_async_mode_enabled() is True
+
+ with raises(RuntimeError):
+ await future
+
+ assert provider.initialized is False
+ assert provider.is_async_mode_enabled() is True
+
+
+@mark.asyncio
+async def test_init_with_dependency_to_other_resource():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/361
+ async def init_db_connection(db_url: str):
+ await asyncio.sleep(0.001)
+ yield {"connection": "OK", "url": db_url}
+
+ async def init_user_session(db):
+ await asyncio.sleep(0.001)
+ yield {"session": "OK", "db": db}
+
+ class Container(containers.DeclarativeContainer):
+ config = providers.Configuration()
+
+ db_connection = providers.Resource(
+ init_db_connection,
+ db_url=config.db_url,
+ )
+
+ user_session = providers.Resource(
+ init_user_session,
+ db=db_connection
+ )
+
+ async def main():
+ container = Container(config={"db_url": "postgres://..."})
+ try:
+ return await container.user_session()
+ finally:
+ await container.shutdown_resources()
+
+ result = await main()
+ assert result == {"session": "OK", "db": {"connection": "OK", "url": "postgres://..."}}
+
+
+@mark.asyncio
+async def test_init_and_shutdown_methods():
+ async def _init():
+ await asyncio.sleep(0.001)
+ _init.init_counter += 1
+
+ yield
+
+ await asyncio.sleep(0.001)
+ _init.shutdown_counter += 1
+
+ _init.init_counter = 0
+ _init.shutdown_counter = 0
+
+ provider = providers.Resource(_init)
+
+ await provider.init()
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 0
+
+ await provider.shutdown()
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 1
+
+ await provider.init()
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 1
+
+ await provider.shutdown()
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 2
+
+
+@mark.asyncio
+async def test_shutdown_of_not_initialized():
+ async def _init():
+ yield
+
+ provider = providers.Resource(_init)
+ provider.enable_async_mode()
+
+ result = await provider.shutdown()
+ assert result is None
+
+
+@mark.asyncio
+async def test_concurrent_init():
+ resource = object()
+
+ async def _init():
+ await asyncio.sleep(0.001)
+ _init.counter += 1
+ return resource
+
+ _init.counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1, result2 = await asyncio.gather(
+ provider(),
+ provider()
+ )
+
+ assert result1 is resource
+ assert _init.counter == 1
+
+ assert result2 is resource
+ assert _init.counter == 1
diff --git a/tests/unit/providers/resource/test_resource_py35.py b/tests/unit/providers/resource/test_resource_py35.py
new file mode 100644
index 00000000..921ec8fa
--- /dev/null
+++ b/tests/unit/providers/resource/test_resource_py35.py
@@ -0,0 +1,398 @@
+"""Resource provider tests."""
+
+import sys
+from typing import Any
+
+from dependency_injector import containers, providers, resources, errors
+from pytest import raises
+
+
+def init_fn(*args, **kwargs):
+ return args, kwargs
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.Resource(init_fn)) is True
+
+
+def test_init_optional_provides():
+ provider = providers.Resource()
+ provider.set_provides(init_fn)
+ assert provider.provides is init_fn
+ assert provider() == (tuple(), dict())
+
+
+def test_set_provides_returns_():
+ provider = providers.Resource()
+ assert provider.set_provides(init_fn) is provider
+
+
+def test_provided_instance_provider():
+ provider = providers.Resource(init_fn)
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_injection():
+ resource = object()
+
+ def _init():
+ _init.counter += 1
+ return resource
+
+ _init.counter = 0
+
+ class Container(containers.DeclarativeContainer):
+ resource = providers.Resource(_init)
+ dependency1 = providers.List(resource)
+ dependency2 = providers.List(resource)
+
+ container = Container()
+ list1 = container.dependency1()
+ list2 = container.dependency2()
+
+ assert list1 == [resource]
+ assert list1[0] is resource
+
+ assert list2 == [resource]
+ assert list2[0] is resource
+
+ assert _init.counter == 1
+
+
+def test_init_function():
+ def _init():
+ _init.counter += 1
+
+ _init.counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1 = provider()
+ assert result1 is None
+ assert _init.counter == 1
+
+ result2 = provider()
+ assert result2 is None
+ assert _init.counter == 1
+
+ provider.shutdown()
+
+
+def test_init_generator():
+ def _init():
+ _init.init_counter += 1
+ yield
+ _init.shutdown_counter += 1
+
+ _init.init_counter = 0
+ _init.shutdown_counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1 = provider()
+ assert result1 is None
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 0
+
+ provider.shutdown()
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 1
+
+ result2 = provider()
+ assert result2 is None
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 1
+
+ provider.shutdown()
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 2
+
+
+def test_init_class():
+ class TestResource(resources.Resource):
+ init_counter = 0
+ shutdown_counter = 0
+
+ def init(self):
+ self.__class__.init_counter += 1
+
+ def shutdown(self, _):
+ self.__class__.shutdown_counter += 1
+
+ provider = providers.Resource(TestResource)
+
+ result1 = provider()
+ assert result1 is None
+ assert TestResource.init_counter == 1
+ assert TestResource.shutdown_counter == 0
+
+ provider.shutdown()
+ assert TestResource.init_counter == 1
+ assert TestResource.shutdown_counter == 1
+
+ result2 = provider()
+ assert result2 is None
+ assert TestResource.init_counter == 2
+ assert TestResource.shutdown_counter == 1
+
+ provider.shutdown()
+ assert TestResource.init_counter == 2
+ assert TestResource.shutdown_counter == 2
+
+
+def test_init_class_generic_typing():
+ # See issue: https://github.com/ets-labs/python-dependency-injector/issues/488
+ class TestDependency:
+ ...
+
+ class TestResource(resources.Resource[TestDependency]):
+ def init(self, *args: Any, **kwargs: Any) -> TestDependency:
+ return TestDependency()
+
+ def shutdown(self, resource: TestDependency) -> None: ...
+
+ assert issubclass(TestResource, resources.Resource) is True
+
+
+def test_init_class_abc_init_definition_is_required():
+ class TestResource(resources.Resource):
+ ...
+
+ with raises(TypeError) as context:
+ TestResource()
+
+ assert "Can't instantiate abstract class TestResource" in str(context.value)
+ assert "init" in str(context.value)
+
+
+def test_init_class_abc_shutdown_definition_is_not_required():
+ class TestResource(resources.Resource):
+ def init(self):
+ ...
+
+ assert hasattr(TestResource(), "shutdown") is True
+
+
+def test_init_not_callable():
+ provider = providers.Resource(1)
+ with raises(errors.Error):
+ provider.init()
+
+
+def test_init_and_shutdown():
+ def _init():
+ _init.init_counter += 1
+ yield
+ _init.shutdown_counter += 1
+
+ _init.init_counter = 0
+ _init.shutdown_counter = 0
+
+ provider = providers.Resource(_init)
+
+ result1 = provider.init()
+ assert result1 is None
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 0
+
+ provider.shutdown()
+ assert _init.init_counter == 1
+ assert _init.shutdown_counter == 1
+
+ result2 = provider.init()
+ assert result2 is None
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 1
+
+ provider.shutdown()
+ assert _init.init_counter == 2
+ assert _init.shutdown_counter == 2
+
+
+def test_shutdown_of_not_initialized():
+ def _init():
+ yield
+
+ provider = providers.Resource(_init)
+
+ result = provider.shutdown()
+ assert result is None
+
+
+def test_initialized():
+ provider = providers.Resource(init_fn)
+ assert provider.initialized is False
+
+ provider.init()
+ assert provider.initialized is True
+
+ provider.shutdown()
+ assert provider.initialized is False
+
+
+def test_call_with_context_args():
+ provider = providers.Resource(init_fn, "i1", "i2")
+ assert provider("i3", i4=4) == (("i1", "i2", "i3"), {"i4": 4})
+
+
+def test_fluent_interface():
+ provider = providers.Resource(init_fn) \
+ .add_args(1, 2) \
+ .add_kwargs(a3=3, a4=4)
+ assert provider() == ((1, 2), {"a3": 3, "a4": 4})
+
+
+def test_set_args():
+ provider = providers.Resource(init_fn) \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
+
+
+def test_clear_args():
+ provider = providers.Resource(init_fn) \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
+
+
+def test_set_kwargs():
+ provider = providers.Resource(init_fn) \
+ .add_kwargs(a1="i1", a2="i2") \
+ .set_kwargs(a3="i3", a4="i4")
+ assert provider.kwargs == {"a3": "i3", "a4": "i4"}
+
+
+def test_clear_kwargs():
+ provider = providers.Resource(init_fn) \
+ .add_kwargs(a1="i1", a2="i2") \
+ .clear_kwargs()
+ assert provider.kwargs == {}
+
+
+def test_call_overridden():
+ provider = providers.Resource(init_fn, 1)
+ overriding_provider1 = providers.Resource(init_fn, 2)
+ overriding_provider2 = providers.Resource(init_fn, 3)
+
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1 is instance2
+ assert instance1 == ((3,), {})
+ assert instance2 == ((3,), {})
+
+
+def test_deepcopy():
+ provider = providers.Resource(init_fn, 1, 2, a3=3, a4=4)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert provider.args == provider_copy.args
+ assert provider.kwargs == provider_copy.kwargs
+ assert isinstance(provider, providers.Resource)
+
+
+def test_deepcopy_initialized():
+ provider = providers.Resource(init_fn)
+ provider.init()
+
+ with raises(errors.Error):
+ providers.deepcopy(provider)
+
+
+def test_deepcopy_from_memo():
+ provider = providers.Resource(init_fn)
+ provider_copy_memo = providers.Resource(init_fn)
+
+ provider_copy = providers.deepcopy(
+ provider,
+ memo={id(provider): provider_copy_memo},
+ )
+
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_args():
+ provider = providers.Resource(init_fn)
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider.add_args(dependent_provider1, dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
+
+ assert provider.args != provider_copy.args
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs():
+ provider = providers.Resource(init_fn)
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["d1"]
+ dependent_provider_copy2 = provider_copy.kwargs["d2"]
+
+ assert provider.kwargs != provider_copy.kwargs
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden():
+ provider = providers.Resource(init_fn)
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.args == provider_copy.args
+ assert isinstance(provider, providers.Resource)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams():
+ provider = providers.Resource(init_fn)
+ provider.add_args(sys.stdin, sys.stdout, sys.stderr)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, providers.Resource)
+ assert provider.args[0] is sys.stdin
+ assert provider.args[1] is sys.stdout
+ assert provider.args[2] is sys.stderr
+
+
+def test_repr():
+ provider = providers.Resource(init_fn)
+
+ assert repr(provider) == (
+ "".format(
+ repr(init_fn),
+ hex(id(provider)),
+ )
+ )
diff --git a/tests/unit/providers/singleton/__init__.py b/tests/unit/providers/singleton/__init__.py
new file mode 100644
index 00000000..c31f39dd
--- /dev/null
+++ b/tests/unit/providers/singleton/__init__.py
@@ -0,0 +1 @@
+"""Singleton provider tests."""
diff --git a/tests/unit/providers/singleton/common.py b/tests/unit/providers/singleton/common.py
new file mode 100644
index 00000000..991624ed
--- /dev/null
+++ b/tests/unit/providers/singleton/common.py
@@ -0,0 +1,13 @@
+"""Common test artifacts."""
+
+
+class Example:
+
+ def __init__(self, init_arg1=None, init_arg2=None, init_arg3=None, init_arg4=None):
+ self.init_arg1 = init_arg1
+ self.init_arg2 = init_arg2
+ self.init_arg3 = init_arg3
+ self.init_arg4 = init_arg4
+
+ self.attribute1 = None
+ self.attribute2 = None
diff --git a/tests/unit/providers/singleton/test_abstract_singleton_py2_py3.py b/tests/unit/providers/singleton/test_abstract_singleton_py2_py3.py
new file mode 100644
index 00000000..3b372261
--- /dev/null
+++ b/tests/unit/providers/singleton/test_abstract_singleton_py2_py3.py
@@ -0,0 +1,63 @@
+"""AbstractSingleton provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+from .common import Example
+
+
+def test_inheritance():
+ assert isinstance(providers.AbstractSingleton(Example), providers.BaseSingleton)
+
+
+def test_call_overridden_by_singleton():
+ provider = providers.AbstractSingleton(object)
+ provider.override(providers.Singleton(Example))
+ assert isinstance(provider(), Example)
+
+
+def test_call_overridden_by_delegated_singleton():
+ provider = providers.AbstractSingleton(object)
+ provider.override(providers.DelegatedSingleton(Example))
+ assert isinstance(provider(), Example)
+
+
+def test_call_not_overridden():
+ provider = providers.AbstractSingleton(object)
+ with raises(errors.Error):
+ provider()
+
+
+def test_reset_overridden():
+ provider = providers.AbstractSingleton(object)
+ provider.override(providers.Singleton(Example))
+
+ instance1 = provider()
+
+ provider.reset()
+
+ instance2 = provider()
+
+ assert instance1 is not instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_reset_not_overridden():
+ provider = providers.AbstractSingleton(object)
+ with raises(errors.Error):
+ provider.reset()
+
+
+def test_override_by_not_singleton():
+ provider = providers.AbstractSingleton(object)
+ with raises(errors.Error):
+ provider.override(providers.Factory(object))
+
+
+def test_repr():
+ provider = providers.AbstractSingleton(Example)
+ assert repr(provider) == (
+ "".format(repr(Example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/singleton/test_delegated_singleton_py2_py3.py b/tests/unit/providers/singleton/test_delegated_singleton_py2_py3.py
new file mode 100644
index 00000000..8a76ec0b
--- /dev/null
+++ b/tests/unit/providers/singleton/test_delegated_singleton_py2_py3.py
@@ -0,0 +1,27 @@
+"""Delegated singleton provider tests."""
+
+from dependency_injector import providers
+from pytest import fixture
+
+from .common import Example
+
+
+PROVIDER_CLASSES = [
+ providers.DelegatedSingleton,
+ providers.DelegatedThreadLocalSingleton,
+ providers.DelegatedThreadSafeSingleton,
+]
+
+
+@fixture(params=PROVIDER_CLASSES)
+def singleton_cls(request):
+ return request.param
+
+
+@fixture
+def provider(singleton_cls):
+ return singleton_cls(Example)
+
+
+def test_is_delegated_provider(provider):
+ assert providers.is_delegated(provider) is True
diff --git a/tests/unit/providers/singleton/test_singleton_delegate_py2_py3.py b/tests/unit/providers/singleton/test_singleton_delegate_py2_py3.py
new file mode 100644
index 00000000..be6eb2b2
--- /dev/null
+++ b/tests/unit/providers/singleton/test_singleton_delegate_py2_py3.py
@@ -0,0 +1,23 @@
+"""SingletonDelegate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import fixture, raises
+
+
+@fixture
+def provider():
+ return providers.Singleton(object)
+
+
+@fixture
+def delegate(provider):
+ return providers.SingletonDelegate(provider)
+
+
+def test_is_delegate(delegate):
+ assert isinstance(delegate, providers.Delegate)
+
+
+def test_init_with_not_factory():
+ with raises(errors.Error):
+ providers.SingletonDelegate(providers.Object(object()))
diff --git a/tests/unit/providers/singleton/test_singleton_py2_py3.py b/tests/unit/providers/singleton/test_singleton_py2_py3.py
new file mode 100644
index 00000000..49f777fb
--- /dev/null
+++ b/tests/unit/providers/singleton/test_singleton_py2_py3.py
@@ -0,0 +1,470 @@
+"""Singleton provider tests."""
+
+import sys
+
+from dependency_injector import providers, errors
+from pytest import fixture, raises
+
+from .common import Example
+
+
+PROVIDER_CLASSES = [
+ providers.Singleton,
+ providers.DelegatedSingleton,
+ providers.ThreadLocalSingleton,
+ providers.DelegatedThreadLocalSingleton,
+ providers.ThreadSafeSingleton,
+ providers.DelegatedThreadSafeSingleton,
+]
+if sys.version_info >= (3, 5):
+ PROVIDER_CLASSES.append(providers.ContextLocalSingleton)
+
+
+@fixture(params=PROVIDER_CLASSES)
+def singleton_cls(request):
+ return request.param
+
+
+@fixture
+def provider(singleton_cls):
+ return singleton_cls(Example)
+
+
+def test_is_provider(provider):
+ assert providers.is_provider(provider) is True
+
+
+def test_init_with_not_callable(singleton_cls):
+ with raises(errors.Error):
+ singleton_cls(123)
+
+
+def test_init_optional_provides(provider):
+ provider.set_provides(object)
+ assert provider.provides is object
+ assert isinstance(provider(), object)
+
+
+def test_set_provides_returns_self(provider):
+ assert provider.set_provides(object) is provider
+
+
+def test_init_with_valid_provided_type(singleton_cls):
+ class ExampleProvider(singleton_cls):
+ provided_type = Example
+
+ example_provider = ExampleProvider(Example, 1, 2)
+ assert isinstance(example_provider(), Example)
+
+
+def test_init_with_valid_provided_subtype(singleton_cls):
+ class ExampleProvider(singleton_cls):
+ provided_type = Example
+
+ class NewExample(Example):
+ pass
+
+ example_provider = ExampleProvider(NewExample, 1, 2)
+ assert isinstance(example_provider(), NewExample)
+
+
+def test_init_with_invalid_provided_type(singleton_cls):
+ class ExampleProvider(singleton_cls):
+ provided_type = Example
+
+ with raises(errors.Error):
+ ExampleProvider(list)
+
+
+def test_provided_instance_provider(provider):
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_call(provider):
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1 is instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_positional_args(singleton_cls):
+ provider = singleton_cls(Example, "i1", "i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_keyword_args(singleton_cls):
+ provider = singleton_cls(Example, init_arg1="i1", init_arg2="i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_init_positional_and_keyword_args(singleton_cls):
+ provider = singleton_cls(Example, "i1", init_arg2="i2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.init_arg1 == "i1"
+ assert instance1.init_arg2 == "i2"
+
+ assert instance2.init_arg1 == "i1"
+ assert instance2.init_arg2 == "i2"
+
+ assert instance1 is instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_attributes(provider):
+ provider.add_attributes(attribute1="a1", attribute2="a2")
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1.attribute1 == "a1"
+ assert instance1.attribute2 == "a2"
+
+ assert instance2.attribute1 == "a1"
+ assert instance2.attribute2 == "a2"
+
+ assert instance1 is instance2
+ assert isinstance(instance1, Example)
+ assert isinstance(instance2, Example)
+
+
+def test_call_with_context_args(provider):
+ instance = provider(11, 22)
+
+ assert instance.init_arg1 == 11
+ assert instance.init_arg2 == 22
+
+
+def test_call_with_context_kwargs(singleton_cls):
+ provider = singleton_cls(Example, init_arg1=1)
+
+ instance1 = provider(init_arg2=22)
+ assert instance1.init_arg1 == 1
+ assert instance1.init_arg2 == 22
+
+ # Instance is created earlier
+ instance1 = provider(init_arg1=11, init_arg2=22)
+ assert instance1.init_arg1 == 1
+ assert instance1.init_arg2 == 22
+
+
+def test_call_with_context_args_and_kwargs(singleton_cls):
+ provider = singleton_cls(Example, 11)
+
+ instance = provider(22, init_arg3=33, init_arg4=44)
+
+ assert instance.init_arg1 == 11
+ assert instance.init_arg2 == 22
+ assert instance.init_arg3 == 33
+ assert instance.init_arg4 == 44
+
+
+def test_fluent_interface(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_args(1, 2) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .add_attributes(attribute1=5, attribute2=6)
+
+ instance = provider()
+
+ assert instance.init_arg1 == 1
+ assert instance.init_arg2 == 2
+ assert instance.init_arg3 == 3
+ assert instance.init_arg4 == 4
+ assert instance.attribute1 == 5
+ assert instance.attribute2 == 6
+
+
+def test_set_args(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
+
+
+def test_set_kwargs(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .set_kwargs(init_arg3=4, init_arg4=5)
+ assert provider.kwargs == dict(init_arg3=4, init_arg4=5)
+
+
+def test_set_attributes(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_attributes(attribute1=5, attribute2=6) \
+ .set_attributes(attribute1=6, attribute2=7)
+ assert provider.attributes == dict(attribute1=6, attribute2=7)
+
+
+def test_clear_args(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
+
+
+def test_clear_kwargs(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_kwargs(init_arg3=3, init_arg4=4) \
+ .clear_kwargs()
+ assert provider.kwargs == dict()
+
+
+def test_clear_attributes(singleton_cls):
+ provider = singleton_cls(Example) \
+ .add_attributes(attribute1=5, attribute2=6) \
+ .clear_attributes()
+ assert provider.attributes == dict()
+
+
+def test_call_overridden(singleton_cls):
+ provider = singleton_cls(Example)
+ overriding_provider1 = singleton_cls(dict)
+ overriding_provider2 = singleton_cls(list)
+
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
+
+ instance1 = provider()
+ instance2 = provider()
+
+ assert instance1 is instance2
+ assert isinstance(instance1, list)
+ assert isinstance(instance2, list)
+
+
+def test_deepcopy(singleton_cls):
+ provider = singleton_cls(Example)
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert provider.cls is provider_copy.cls
+ assert isinstance(provider, singleton_cls)
+
+
+def test_deepcopy_from_memo(singleton_cls):
+ provider = singleton_cls(Example)
+ provider_copy_memo = singleton_cls(Example)
+
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_args(singleton_cls):
+ provider = singleton_cls(Example)
+ dependent_provider1 = singleton_cls(list)
+ dependent_provider2 = singleton_cls(dict)
+
+ provider.add_args(dependent_provider1, dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
+
+ assert provider.args != provider_copy.args
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs(singleton_cls):
+ provider = singleton_cls(Example)
+ dependent_provider1 = singleton_cls(list)
+ dependent_provider2 = singleton_cls(dict)
+
+ provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["a1"]
+ dependent_provider_copy2 = provider_copy.kwargs["a2"]
+
+ assert provider.kwargs != provider_copy.kwargs
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_attributes(singleton_cls):
+ provider = singleton_cls(Example)
+ dependent_provider1 = singleton_cls(list)
+ dependent_provider2 = singleton_cls(dict)
+
+ provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.attributes["a1"]
+ dependent_provider_copy2 = provider_copy.attributes["a2"]
+
+ assert provider.attributes != provider_copy.attributes
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden(singleton_cls):
+ provider = singleton_cls(Example)
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.cls is provider_copy.cls
+ assert isinstance(provider, singleton_cls)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams(singleton_cls):
+ provider = singleton_cls(Example)
+ provider.add_args(sys.stdin)
+ provider.add_kwargs(a2=sys.stdout)
+ provider.add_attributes(a3=sys.stderr)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, singleton_cls)
+ assert provider.args[0] is sys.stdin
+ assert provider.kwargs["a2"] is sys.stdout
+ assert provider.attributes["a3"] is sys.stderr
+
+
+def test_reset(singleton_cls):
+ provider = singleton_cls(object)
+
+ instance1 = provider()
+ assert isinstance(instance1, object)
+
+ provider.reset()
+
+ instance2 = provider()
+ assert isinstance(instance2, object)
+ assert instance1 is not instance2
+
+
+def test_reset_clean(provider):
+ instance1 = provider()
+
+ provider.reset()
+ provider.reset()
+
+ instance2 = provider()
+ assert instance1 is not instance2
+
+
+def test_reset_with_singleton(singleton_cls):
+ dependent_singleton = providers.Singleton(object)
+ provider = singleton_cls(dict, dependency=dependent_singleton)
+
+ dependent_instance = dependent_singleton()
+ instance1 = provider()
+ assert instance1["dependency"] is dependent_instance
+
+ provider.reset()
+
+ instance2 = provider()
+ assert instance2["dependency"] is dependent_instance
+ assert instance1 is not instance2
+
+
+def test_reset_context_manager(provider):
+ instance1 = provider()
+ with provider.reset():
+ instance2 = provider()
+ instance3 = provider()
+ assert len({instance1, instance2, instance3}) == 3
+
+
+def test_reset_context_manager_as_attribute(provider):
+ with provider.reset() as alias:
+ pass
+ assert provider is alias
+
+
+def test_full_reset(singleton_cls):
+ dependent_singleton = providers.Singleton(object)
+ provider = singleton_cls(dict, dependency=dependent_singleton)
+
+ dependent_instance1 = dependent_singleton()
+ instance1 = provider()
+ assert instance1["dependency"] is dependent_instance1
+
+ provider.full_reset()
+
+ dependent_instance2 = dependent_singleton()
+ instance2 = provider()
+ assert instance2["dependency"] is not dependent_instance1
+ assert dependent_instance1 is not dependent_instance2
+ assert instance1 is not instance2
+
+
+def test_full_reset_context_manager(singleton_cls):
+ class Item:
+ def __init__(self, dependency):
+ self.dependency = dependency
+
+ dependent_singleton = providers.Singleton(object)
+ singleton = singleton_cls(Item, dependency=dependent_singleton)
+
+ instance1 = singleton()
+ with singleton.full_reset():
+ instance2 = singleton()
+ instance3 = singleton()
+
+ assert len({instance1, instance2, instance3}) == 3
+ assert len({instance1.dependency, instance2.dependency, instance3.dependency}) == 3
+
+
+def test_full_reset_context_manager_as_attribute(provider):
+ with provider.full_reset() as alias:
+ pass
+ assert provider is alias
+
+
+def test_repr(provider):
+ assert repr(provider) == (
+ "".format(provider.__class__.__name__, repr(Example), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/singleton_common.py b/tests/unit/providers/singleton_common.py
deleted file mode 100644
index 2c5de2f5..00000000
--- a/tests/unit/providers/singleton_common.py
+++ /dev/null
@@ -1,434 +0,0 @@
-import sys
-
-from dependency_injector import providers, errors
-
-
-class Example(object):
-
- def __init__(self, init_arg1=None, init_arg2=None, init_arg3=None,
- init_arg4=None):
- self.init_arg1 = init_arg1
- self.init_arg2 = init_arg2
- self.init_arg3 = init_arg3
- self.init_arg4 = init_arg4
-
- self.attribute1 = None
- self.attribute2 = None
-
-
-class _BaseSingletonTestCase(object):
-
- singleton_cls = None
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.singleton_cls(Example)))
-
- def test_init_with_callable(self):
- self.assertTrue(self.singleton_cls(credits))
-
- def test_init_with_not_callable(self):
- self.assertRaises(errors.Error, self.singleton_cls, 123)
-
- def test_init_optional_provides(self):
- provider = self.singleton_cls()
- provider.set_provides(object)
- self.assertIs(provider.provides, object)
- self.assertIsInstance(provider(), object)
-
- def test_set_provides_returns_self(self):
- provider = self.singleton_cls()
- self.assertIs(provider.set_provides(object), provider)
-
- def test_init_with_valid_provided_type(self):
- class ExampleProvider(self.singleton_cls):
- provided_type = Example
-
- example_provider = ExampleProvider(Example, 1, 2)
-
- self.assertIsInstance(example_provider(), Example)
-
- def test_init_with_valid_provided_subtype(self):
- class ExampleProvider(self.singleton_cls):
- provided_type = Example
-
- class NewExampe(Example):
- pass
-
- example_provider = ExampleProvider(NewExampe, 1, 2)
-
- self.assertIsInstance(example_provider(), NewExampe)
-
- def test_init_with_invalid_provided_type(self):
- class ExampleProvider(self.singleton_cls):
- provided_type = Example
-
- with self.assertRaises(errors.Error):
- ExampleProvider(list)
-
- def test_provided_instance_provider(self):
- provider = providers.Singleton(Example)
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_call(self):
- provider = self.singleton_cls(Example)
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_positional_args(self):
- provider = self.singleton_cls(Example, 'i1', 'i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_keyword_args(self):
- provider = self.singleton_cls(Example, init_arg1='i1', init_arg2='i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_positional_and_keyword_args(self):
- provider = self.singleton_cls(Example, 'i1', init_arg2='i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_attributes(self):
- provider = self.singleton_cls(Example)
- provider.add_attributes(attribute1='a1', attribute2='a2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.attribute1, 'a1')
- self.assertEqual(instance1.attribute2, 'a2')
-
- self.assertEqual(instance2.attribute1, 'a1')
- self.assertEqual(instance2.attribute2, 'a2')
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_context_args(self):
- provider = self.singleton_cls(Example)
-
- instance = provider(11, 22)
-
- self.assertEqual(instance.init_arg1, 11)
- self.assertEqual(instance.init_arg2, 22)
-
- def test_call_with_context_kwargs(self):
- provider = self.singleton_cls(Example, init_arg1=1)
-
- instance1 = provider(init_arg2=22)
- self.assertEqual(instance1.init_arg1, 1)
- self.assertEqual(instance1.init_arg2, 22)
-
- # Instance is created earlier
- instance1 = provider(init_arg1=11, init_arg2=22)
- self.assertEqual(instance1.init_arg1, 1)
- self.assertEqual(instance1.init_arg2, 22)
-
- def test_call_with_context_args_and_kwargs(self):
- provider = self.singleton_cls(Example, 11)
-
- instance = provider(22, init_arg3=33, init_arg4=44)
-
- self.assertEqual(instance.init_arg1, 11)
- self.assertEqual(instance.init_arg2, 22)
- self.assertEqual(instance.init_arg3, 33)
- self.assertEqual(instance.init_arg4, 44)
-
- def test_fluent_interface(self):
- provider = self.singleton_cls(Example) \
- .add_args(1, 2) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .add_attributes(attribute1=5, attribute2=6)
-
- instance = provider()
-
- self.assertEqual(instance.init_arg1, 1)
- self.assertEqual(instance.init_arg2, 2)
- self.assertEqual(instance.init_arg3, 3)
- self.assertEqual(instance.init_arg4, 4)
- self.assertEqual(instance.attribute1, 5)
- self.assertEqual(instance.attribute2, 6)
-
- def test_set_args(self):
- provider = self.singleton_cls(Example) \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
-
- def test_set_kwargs(self):
- provider = self.singleton_cls(Example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .set_kwargs(init_arg3=4, init_arg4=5)
- self.assertEqual(provider.kwargs, dict(init_arg3=4, init_arg4=5))
-
- def test_set_attributes(self):
- provider = self.singleton_cls(Example) \
- .add_attributes(attribute1=5, attribute2=6) \
- .set_attributes(attribute1=6, attribute2=7)
- self.assertEqual(provider.attributes, dict(attribute1=6, attribute2=7))
-
- def test_clear_args(self):
- provider = self.singleton_cls(Example) \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
-
- def test_clear_kwargs(self):
- provider = self.singleton_cls(Example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, dict())
-
- def test_clear_attributes(self):
- provider = self.singleton_cls(Example) \
- .add_attributes(attribute1=5, attribute2=6) \
- .clear_attributes()
- self.assertEqual(provider.attributes, dict())
-
- def test_call_overridden(self):
- provider = self.singleton_cls(Example)
- overriding_provider1 = self.singleton_cls(dict)
- overriding_provider2 = self.singleton_cls(list)
-
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertIs(instance1, instance2)
- self.assertIsInstance(instance1, list)
- self.assertIsInstance(instance2, list)
-
- def test_deepcopy(self):
- provider = self.singleton_cls(Example)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.cls, provider_copy.cls)
- self.assertIsInstance(provider, self.singleton_cls)
-
- def test_deepcopy_from_memo(self):
- provider = self.singleton_cls(Example)
- provider_copy_memo = self.singleton_cls(Example)
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_args(self):
- provider = self.singleton_cls(Example)
- dependent_provider1 = self.singleton_cls(list)
- dependent_provider2 = self.singleton_cls(dict)
-
- provider.add_args(dependent_provider1, dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
-
- self.assertNotEqual(provider.args, provider_copy.args)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_kwargs(self):
- provider = self.singleton_cls(Example)
- dependent_provider1 = self.singleton_cls(list)
- dependent_provider2 = self.singleton_cls(dict)
-
- provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['a1']
- dependent_provider_copy2 = provider_copy.kwargs['a2']
-
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_attributes(self):
- provider = self.singleton_cls(Example)
- dependent_provider1 = self.singleton_cls(list)
- dependent_provider2 = self.singleton_cls(dict)
-
- provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.attributes['a1']
- dependent_provider_copy2 = provider_copy.attributes['a2']
-
- self.assertNotEqual(provider.attributes, provider_copy.attributes)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_overridden(self):
- provider = self.singleton_cls(Example)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.cls, provider_copy.cls)
- self.assertIsInstance(provider, self.singleton_cls)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Singleton(Example)
- provider.add_args(sys.stdin)
- provider.add_kwargs(a2=sys.stdout)
- provider.add_attributes(a3=sys.stderr)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Singleton)
- self.assertIs(provider.args[0], sys.stdin)
- self.assertIs(provider.kwargs['a2'], sys.stdout)
- self.assertIs(provider.attributes['a3'], sys.stderr)
-
- def test_reset(self):
- provider = self.singleton_cls(object)
-
- instance1 = provider()
- self.assertIsInstance(instance1, object)
-
- provider.reset()
-
- instance2 = provider()
- self.assertIsInstance(instance2, object)
-
- self.assertIsNot(instance1, instance2)
-
- def test_reset_with_singleton(self):
- dependent_singleton = providers.Singleton(object)
- provider = self.singleton_cls(dict, dependency=dependent_singleton)
-
- dependent_instance = dependent_singleton()
- instance1 = provider()
- self.assertIs(instance1['dependency'], dependent_instance)
-
- provider.reset()
-
- instance2 = provider()
- self.assertIs(instance1['dependency'], dependent_instance)
-
- self.assertIsNot(instance1, instance2)
-
- def test_reset_context_manager(self):
- singleton = self.singleton_cls(object)
-
- instance1 = singleton()
- with singleton.reset():
- instance2 = singleton()
- instance3 = singleton()
- self.assertEqual(len({instance1, instance2, instance3}), 3)
-
- def test_reset_context_manager_as_attribute(self):
- singleton = self.singleton_cls(object)
-
- with singleton.reset() as alias:
- pass
-
- self.assertIs(singleton, alias)
-
- def test_full_reset(self):
- dependent_singleton = providers.Singleton(object)
- provider = self.singleton_cls(dict, dependency=dependent_singleton)
-
- dependent_instance1 = dependent_singleton()
- instance1 = provider()
- self.assertIs(instance1['dependency'], dependent_instance1)
-
- provider.full_reset()
-
- dependent_instance2 = dependent_singleton()
- instance2 = provider()
- self.assertIsNot(instance2['dependency'], dependent_instance1)
- self.assertIsNot(dependent_instance1, dependent_instance2)
- self.assertIsNot(instance1, instance2)
-
- def test_full_reset_context_manager(self):
- class Item:
- def __init__(self, dependency):
- self.dependency = dependency
-
- dependent_singleton = providers.Singleton(object)
- singleton = self.singleton_cls(Item, dependency=dependent_singleton)
-
- instance1 = singleton()
- with singleton.full_reset():
- instance2 = singleton()
- instance3 = singleton()
-
- self.assertEqual(len({instance1, instance2, instance3}), 3)
- self.assertEqual(
- len({instance1.dependency, instance2.dependency, instance3.dependency}),
- 3,
- )
-
- def test_full_reset_context_manager_as_attribute(self):
- singleton = self.singleton_cls(object)
-
- with singleton.full_reset() as alias:
- pass
-
- self.assertIs(singleton, alias)
diff --git a/tests/unit/providers/test_async_py36.py b/tests/unit/providers/test_async_py36.py
deleted file mode 100644
index a784da14..00000000
--- a/tests/unit/providers/test_async_py36.py
+++ /dev/null
@@ -1,1175 +0,0 @@
-import asyncio
-import random
-import unittest
-
-from dependency_injector import containers, providers, errors
-
-# Runtime import to get asyncutils module
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-
-from asyncutils import AsyncTestCase
-
-
-RESOURCE1 = object()
-RESOURCE2 = object()
-
-
-async def init_resource(resource):
- await asyncio.sleep(random.randint(1, 10) / 1000)
- yield resource
- await asyncio.sleep(random.randint(1, 10) / 1000)
-
-
-class Client:
- def __init__(self, resource1: object, resource2: object) -> None:
- self.resource1 = resource1
- self.resource2 = resource2
-
-
-class Service:
- def __init__(self, client: Client) -> None:
- self.client = client
-
-
-class Container(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
- resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
-
- client = providers.Factory(
- Client,
- resource1=resource1,
- resource2=resource2,
- )
-
- service = providers.Factory(
- Service,
- client=client,
- )
-
-
-class FactoryTests(AsyncTestCase):
-
- def test_args_injection(self):
- class ContainerWithArgs(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
- resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
-
- client = providers.Factory(
- Client,
- resource1,
- resource2,
- )
-
- service = providers.Factory(
- Service,
- client,
- )
-
- container = ContainerWithArgs()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
- def test_kwargs_injection(self):
- container = Container()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
- def test_context_kwargs_injection(self):
- resource2_extra = object()
-
- container = Container()
-
- client1 = self._run(container.client(resource2=resource2_extra))
- client2 = self._run(container.client(resource2=resource2_extra))
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, resource2_extra)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, resource2_extra)
-
- def test_args_kwargs_injection(self):
- class ContainerWithArgsAndKwArgs(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
- resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
-
- client = providers.Factory(
- Client,
- resource1,
- resource2=resource2,
- )
-
- service = providers.Factory(
- Service,
- client=client,
- )
-
- container = ContainerWithArgsAndKwArgs()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
- def test_injection_error(self):
- async def init_resource():
- raise Exception('Something went wrong')
-
- class Container(containers.DeclarativeContainer):
- resource_with_error = providers.Resource(init_resource)
-
- client = providers.Factory(
- Client,
- resource1=resource_with_error,
- resource2=None,
- )
-
- container = Container()
-
- with self.assertRaises(Exception) as context:
- self._run(container.client())
- self.assertEqual(str(context.exception), 'Something went wrong')
-
- def test_injection_runtime_error_async_provides(self):
- async def create_client(*args, **kwargs):
- raise Exception('Something went wrong')
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
-
- client = providers.Factory(
- create_client,
- resource1=resource,
- resource2=None,
- )
-
- container = Container()
-
- with self.assertRaises(Exception) as context:
- self._run(container.client())
- self.assertEqual(str(context.exception), 'Something went wrong')
-
- def test_injection_call_error_async_provides(self):
- async def create_client(): # <-- no args defined
- ...
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
-
- client = providers.Factory(
- create_client,
- resource1=resource,
- resource2=None,
- )
-
- container = Container()
-
- with self.assertRaises(TypeError) as context:
- self._run(container.client())
- self.assertIn("create_client() got", str(context.exception))
- self.assertIn("unexpected keyword argument", str(context.exception))
-
- def test_attributes_injection(self):
- class ContainerWithAttributes(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
- resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
-
- client = providers.Factory(
- Client,
- resource1,
- resource2=None,
- )
- client.add_attributes(resource2=resource2)
-
- service = providers.Factory(
- Service,
- client=None,
- )
- service.add_attributes(client=client)
-
- container = ContainerWithAttributes()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
- def test_attributes_injection_attribute_error(self):
- class ClientWithException(Client):
- @property
- def attribute_set_error(self):
- return None
-
- @attribute_set_error.setter
- def attribute_set_error(self, value):
- raise Exception('Something went wrong')
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
-
- client = providers.Factory(
- ClientWithException,
- resource1=resource,
- resource2=resource,
- )
- client.add_attributes(attribute_set_error=123)
-
- container = Container()
-
- with self.assertRaises(Exception) as context:
- self._run(container.client())
- self.assertEqual(str(context.exception), 'Something went wrong')
-
- def test_attributes_injection_runtime_error(self):
- async def init_resource():
- raise Exception('Something went wrong')
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource)
-
- client = providers.Factory(
- Client,
- resource1=None,
- resource2=None,
- )
- client.add_attributes(resource1=resource)
- client.add_attributes(resource2=resource)
-
- container = Container()
-
- with self.assertRaises(Exception) as context:
- self._run(container.client())
- self.assertEqual(str(context.exception), 'Something went wrong')
-
- def test_async_instance_and_sync_attributes_injection(self):
- class ContainerWithAttributes(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
-
- client = providers.Factory(
- Client,
- resource1,
- resource2=None,
- )
- client.add_attributes(resource2=providers.Object(RESOURCE2))
-
- service = providers.Factory(
- Service,
- client=None,
- )
- service.add_attributes(client=client)
-
- container = ContainerWithAttributes()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
-
-class FactoryAggregateTests(AsyncTestCase):
-
- def test_async_mode(self):
- object1 = object()
- object2 = object()
-
- async def _get_object1():
- return object1
-
- def _get_object2():
- return object2
-
- provider = providers.FactoryAggregate(
- object1=providers.Factory(_get_object1),
- object2=providers.Factory(_get_object2),
- )
-
- self.assertTrue(provider.is_async_mode_undefined())
-
- created_object1 = self._run(provider('object1'))
- self.assertIs(created_object1, object1)
- self.assertTrue(provider.is_async_mode_enabled())
-
- created_object2 = self._run(provider('object2'))
- self.assertIs(created_object2, object2)
-
-
-class SingletonTests(AsyncTestCase):
-
- def test_injections(self):
- class ContainerWithSingletons(containers.DeclarativeContainer):
- resource1 = providers.Resource(init_resource, providers.Object(RESOURCE1))
- resource2 = providers.Resource(init_resource, providers.Object(RESOURCE2))
-
- client = providers.Singleton(
- Client,
- resource1=resource1,
- resource2=resource2,
- )
-
- service = providers.Singleton(
- Service,
- client=client,
- )
-
- container = ContainerWithSingletons()
-
- client1 = self._run(container.client())
- client2 = self._run(container.client())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service())
- service2 = self._run(container.service())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIs(service1, service2)
- self.assertIs(service1.client, service2.client)
- self.assertIs(service1.client, client1)
-
- self.assertIs(service2.client, client2)
- self.assertIs(client1, client2)
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.Singleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
- def test_async_init_with_error(self):
- # Disable default exception handling to prevent output
- asyncio.get_event_loop().set_exception_handler(lambda loop, context: ...)
-
- async def create_instance():
- create_instance.counter += 1
- raise RuntimeError()
-
- create_instance.counter = 0
-
- provider = providers.Singleton(create_instance)
-
-
- future = provider()
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(future)
-
- self.assertEqual(create_instance.counter, 1)
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(provider())
-
- self.assertEqual(create_instance.counter, 2)
- self.assertTrue(provider.is_async_mode_enabled())
-
- # Restore default exception handling
- asyncio.get_event_loop().set_exception_handler(None)
-
-
-class DelegatedSingletonTests(AsyncTestCase):
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.DelegatedSingleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
-
-class ThreadSafeSingletonTests(AsyncTestCase):
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.ThreadSafeSingleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
-
-class DelegatedThreadSafeSingletonTests(AsyncTestCase):
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.DelegatedThreadSafeSingleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
-
-class ThreadLocalSingletonTests(AsyncTestCase):
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.ThreadLocalSingleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
-
- def test_async_init_with_error(self):
- # Disable default exception handling to prevent output
- asyncio.get_event_loop().set_exception_handler(lambda loop, context: ...)
-
- async def create_instance():
- create_instance.counter += 1
- raise RuntimeError()
- create_instance.counter = 0
-
- provider = providers.ThreadLocalSingleton(create_instance)
-
- future = provider()
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(future)
-
- self.assertEqual(create_instance.counter, 1)
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(provider())
-
- self.assertEqual(create_instance.counter, 2)
- self.assertTrue(provider.is_async_mode_enabled())
-
- # Restore default exception handling
- asyncio.get_event_loop().set_exception_handler(None)
-
-
-class DelegatedThreadLocalSingletonTests(AsyncTestCase):
-
- def test_async_mode(self):
- instance = object()
-
- async def create_instance():
- return instance
-
- provider = providers.DelegatedThreadLocalSingleton(create_instance)
-
- instance1 = self._run(provider())
- instance2 = self._run(provider())
-
- self.assertIs(instance1, instance2)
- self.assertIs(instance, instance)
-
-
-class ProvidedInstanceTests(AsyncTestCase):
-
- def test_provided_attribute(self):
- class TestClient:
- def __init__(self, resource):
- self.resource = resource
-
- class TestService:
- def __init__(self, resource):
- self.resource = resource
-
- class TestContainer(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
- client = providers.Factory(TestClient, resource=resource)
- service = providers.Factory(TestService, resource=client.provided.resource)
-
- container = TestContainer()
-
- instance1, instance2 = self._run(
- asyncio.gather(
- container.service(),
- container.service(),
- ),
- )
-
- self.assertIs(instance1.resource, RESOURCE1)
- self.assertIs(instance2.resource, RESOURCE1)
- self.assertIs(instance1.resource, instance2.resource)
-
- def test_provided_attribute_error(self):
- async def raise_exception():
- raise RuntimeError()
-
- class TestContainer(containers.DeclarativeContainer):
- client = providers.Factory(raise_exception)
-
- container = TestContainer()
-
- with self.assertRaises(RuntimeError):
- self._run(container.client.provided.attr())
-
- def test_provided_attribute_undefined_attribute(self):
- class TestClient:
- def __init__(self, resource):
- self.resource = resource
-
- class TestContainer(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
- client = providers.Factory(TestClient, resource=resource)
-
- container = TestContainer()
-
- with self.assertRaises(AttributeError):
- self._run(container.client.provided.attr())
-
- def test_provided_item(self):
- class TestClient:
- def __init__(self, resource):
- self.resource = resource
-
- def __getitem__(self, item):
- return getattr(self, item)
-
- class TestService:
- def __init__(self, resource):
- self.resource = resource
-
- class TestContainer(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
- client = providers.Factory(TestClient, resource=resource)
- service = providers.Factory(TestService, resource=client.provided['resource'])
-
- container = TestContainer()
-
- instance1, instance2 = self._run(
- asyncio.gather(
- container.service(),
- container.service(),
- ),
- )
-
- self.assertIs(instance1.resource, RESOURCE1)
- self.assertIs(instance2.resource, RESOURCE1)
- self.assertIs(instance1.resource, instance2.resource)
-
- def test_provided_item_error(self):
- async def raise_exception():
- raise RuntimeError()
-
- class TestContainer(containers.DeclarativeContainer):
- client = providers.Factory(raise_exception)
-
- container = TestContainer()
-
- with self.assertRaises(RuntimeError):
- self._run(container.client.provided['item']())
-
- def test_provided_item_undefined_item(self):
- class TestContainer(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
- client = providers.Factory(dict, resource=resource)
-
- container = TestContainer()
-
- with self.assertRaises(KeyError):
- self._run(container.client.provided['item']())
-
- def test_provided_method_call(self):
- class TestClient:
- def __init__(self, resource):
- self.resource = resource
-
- def get_resource(self):
- return self.resource
-
- class TestService:
- def __init__(self, resource):
- self.resource = resource
-
- class TestContainer(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource, providers.Object(RESOURCE1))
- client = providers.Factory(TestClient, resource=resource)
- service = providers.Factory(TestService, resource=client.provided.get_resource.call())
-
- container = TestContainer()
-
- instance1, instance2 = self._run(
- asyncio.gather(
- container.service(),
- container.service(),
- ),
- )
-
- self.assertIs(instance1.resource, RESOURCE1)
- self.assertIs(instance2.resource, RESOURCE1)
- self.assertIs(instance1.resource, instance2.resource)
-
- def test_provided_method_call_parent_error(self):
- async def raise_exception():
- raise RuntimeError()
-
- class TestContainer(containers.DeclarativeContainer):
- client = providers.Factory(raise_exception)
-
- container = TestContainer()
-
- with self.assertRaises(RuntimeError):
- self._run(container.client.provided.method.call()())
-
- def test_provided_method_call_error(self):
- class TestClient:
- def method(self):
- raise RuntimeError()
-
- class TestContainer(containers.DeclarativeContainer):
- client = providers.Factory(TestClient)
-
- container = TestContainer()
-
- with self.assertRaises(RuntimeError):
- self._run(container.client.provided.method.call()())
-
-
-class DependencyTests(AsyncTestCase):
-
- def test_provide_error(self):
- async def get_async():
- raise Exception
-
- provider = providers.Dependency()
- provider.override(providers.Callable(get_async))
-
- with self.assertRaises(Exception):
- self._run(provider())
-
- def test_isinstance(self):
- dependency = 1.0
-
- async def get_async():
- return dependency
-
- provider = providers.Dependency(instance_of=float)
- provider.override(providers.Callable(get_async))
-
- self.assertTrue(provider.is_async_mode_undefined())
-
- dependency1 = self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- dependency2 = self._run(provider())
-
- self.assertEqual(dependency1, dependency)
- self.assertEqual(dependency2, dependency)
-
- def test_isinstance_invalid(self):
- async def get_async():
- return {}
-
- provider = providers.Dependency(instance_of=float)
- provider.override(providers.Callable(get_async))
-
- self.assertTrue(provider.is_async_mode_undefined())
-
- with self.assertRaises(errors.Error):
- self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_async_mode(self):
- dependency = 123
-
- async def get_async():
- return dependency
-
- def get_sync():
- return dependency
-
- provider = providers.Dependency(instance_of=int)
- provider.override(providers.Factory(get_async))
-
- self.assertTrue(provider.is_async_mode_undefined())
-
- dependency1 = self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- dependency2 = self._run(provider())
- self.assertEqual(dependency1, dependency)
- self.assertEqual(dependency2, dependency)
-
- provider.override(providers.Factory(get_sync))
-
- dependency3 = self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- dependency4 = self._run(provider())
- self.assertEqual(dependency3, dependency)
- self.assertEqual(dependency4, dependency)
-
-
-class ListTests(AsyncTestCase):
-
- def test_provide(self):
- # See issue: https://github.com/ets-labs/python-dependency-injector/issues/450
- async def create_resource(param: str):
- return param
-
- class Container(containers.DeclarativeContainer):
-
- resources = providers.List(
- providers.Resource(create_resource, 'foo'),
- providers.Resource(create_resource, 'bar')
- )
-
- container = Container()
- resources = self._run(container.resources())
-
- self.assertEqual(resources[0], 'foo')
- self.assertEqual(resources[1], 'bar')
-
-
-class DictTests(AsyncTestCase):
-
- def test_provide(self):
- async def create_resource(param: str):
- return param
-
- class Container(containers.DeclarativeContainer):
-
- resources = providers.Dict(
- foo=providers.Resource(create_resource, 'foo'),
- bar=providers.Resource(create_resource, 'bar')
- )
-
- container = Container()
- resources = self._run(container.resources())
-
- self.assertEqual(resources['foo'], 'foo')
- self.assertEqual(resources['bar'], 'bar')
-
-
-class OverrideTests(AsyncTestCase):
-
- def test_provider(self):
- dependency = object()
-
- async def _get_dependency_async():
- return dependency
-
- def _get_dependency_sync():
- return dependency
-
- provider = providers.Provider()
-
- provider.override(providers.Callable(_get_dependency_async))
- dependency1 = self._run(provider())
-
- provider.override(providers.Callable(_get_dependency_sync))
- dependency2 = self._run(provider())
-
- self.assertIs(dependency1, dependency)
- self.assertIs(dependency2, dependency)
-
- def test_callable(self):
- dependency = object()
-
- async def _get_dependency_async():
- return dependency
-
- def _get_dependency_sync():
- return dependency
-
- provider = providers.Callable(_get_dependency_async)
- dependency1 = self._run(provider())
-
- provider.override(providers.Callable(_get_dependency_sync))
- dependency2 = self._run(provider())
-
- self.assertIs(dependency1, dependency)
- self.assertIs(dependency2, dependency)
-
- def test_factory(self):
- dependency = object()
-
- async def _get_dependency_async():
- return dependency
-
- def _get_dependency_sync():
- return dependency
-
- provider = providers.Factory(_get_dependency_async)
- dependency1 = self._run(provider())
-
- provider.override(providers.Callable(_get_dependency_sync))
- dependency2 = self._run(provider())
-
- self.assertIs(dependency1, dependency)
- self.assertIs(dependency2, dependency)
-
- def test_async_mode_enabling(self):
- dependency = object()
-
- async def _get_dependency_async():
- return dependency
-
- provider = providers.Callable(_get_dependency_async)
- self.assertTrue(provider.is_async_mode_undefined())
-
- self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_async_mode_disabling(self):
- dependency = object()
-
- def _get_dependency():
- return dependency
-
- provider = providers.Callable(_get_dependency)
- self.assertTrue(provider.is_async_mode_undefined())
-
- provider()
-
- self.assertTrue(provider.is_async_mode_disabled())
-
- def test_async_mode_enabling_on_overriding(self):
- dependency = object()
-
- async def _get_dependency_async():
- return dependency
-
- provider = providers.Provider()
- provider.override(providers.Callable(_get_dependency_async))
- self.assertTrue(provider.is_async_mode_undefined())
-
- self._run(provider())
-
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_async_mode_disabling_on_overriding(self):
- dependency = object()
-
- def _get_dependency():
- return dependency
-
- provider = providers.Provider()
- provider.override(providers.Callable(_get_dependency))
- self.assertTrue(provider.is_async_mode_undefined())
-
- provider()
-
- self.assertTrue(provider.is_async_mode_disabled())
-
-
-class TestAsyncModeApi(unittest.TestCase):
-
- def setUp(self):
- self.provider = providers.Provider()
-
- def test_default_mode(self):
- self.assertFalse(self.provider.is_async_mode_enabled())
- self.assertFalse(self.provider.is_async_mode_disabled())
- self.assertTrue(self.provider.is_async_mode_undefined())
-
- def test_enable(self):
- self.provider.enable_async_mode()
-
- self.assertTrue(self.provider.is_async_mode_enabled())
- self.assertFalse(self.provider.is_async_mode_disabled())
- self.assertFalse(self.provider.is_async_mode_undefined())
-
- def test_disable(self):
- self.provider.disable_async_mode()
-
- self.assertFalse(self.provider.is_async_mode_enabled())
- self.assertTrue(self.provider.is_async_mode_disabled())
- self.assertFalse(self.provider.is_async_mode_undefined())
-
- def test_reset(self):
- self.provider.enable_async_mode()
-
- self.assertTrue(self.provider.is_async_mode_enabled())
- self.assertFalse(self.provider.is_async_mode_disabled())
- self.assertFalse(self.provider.is_async_mode_undefined())
-
- self.provider.reset_async_mode()
-
- self.assertFalse(self.provider.is_async_mode_enabled())
- self.assertFalse(self.provider.is_async_mode_disabled())
- self.assertTrue(self.provider.is_async_mode_undefined())
-
-
-class AsyncTypingStubTests(AsyncTestCase):
-
- def test_async_(self):
- container = Container()
-
- client1 = self._run(container.client.async_())
- client2 = self._run(container.client.async_())
-
- self.assertIsInstance(client1, Client)
- self.assertIs(client1.resource1, RESOURCE1)
- self.assertIs(client1.resource2, RESOURCE2)
-
- self.assertIsInstance(client2, Client)
- self.assertIs(client2.resource1, RESOURCE1)
- self.assertIs(client2.resource2, RESOURCE2)
-
- service1 = self._run(container.service.async_())
- service2 = self._run(container.service.async_())
-
- self.assertIsInstance(service1, Service)
- self.assertIsInstance(service1.client, Client)
- self.assertIs(service1.client.resource1, RESOURCE1)
- self.assertIs(service1.client.resource2, RESOURCE2)
-
- self.assertIsInstance(service2, Service)
- self.assertIsInstance(service2.client, Client)
- self.assertIs(service2.client.resource1, RESOURCE1)
- self.assertIs(service2.client.resource2, RESOURCE2)
-
- self.assertIsNot(service1.client, service2.client)
-
-
-class AsyncProvidersWithAsyncDependenciesTests(AsyncTestCase):
-
- def test_injections(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/368
- async def async_db_provider():
- return {'db': 'ok'}
-
- async def async_service(db=None):
- return {'service': 'ok', 'db': db}
-
- class Container(containers.DeclarativeContainer):
-
- db = providers.Factory(async_db_provider)
- service = providers.Singleton(async_service, db=db)
-
- container = Container()
- service = self._run(container.service())
-
- self.assertEqual(service, {'service': 'ok', 'db': {'db': 'ok'}})
-
-
-class AsyncProviderWithAwaitableObjectTests(AsyncTestCase):
-
- def test(self):
- class SomeResource:
- def __await__(self):
- raise RuntimeError('Should never happen')
-
- async def init_resource():
- pool = SomeResource()
- yield pool
-
- class Service:
- def __init__(self, resource) -> None:
- self.resource = resource
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource)
- service = providers.Singleton(Service, resource=resource)
-
- container = Container()
-
- self._run(container.init_resources())
- self.assertIsInstance(container.service(), asyncio.Future)
- self.assertIsInstance(container.resource(), asyncio.Future)
-
- resource = self._run(container.resource())
- service = self._run(container.service())
-
- self.assertIsInstance(resource, SomeResource)
- self.assertIsInstance(service.resource, SomeResource)
- self.assertIs(service.resource, resource)
-
- def test_without_init_resources(self):
- class SomeResource:
- def __await__(self):
- raise RuntimeError('Should never happen')
-
- async def init_resource():
- pool = SomeResource()
- yield pool
-
- class Service:
- def __init__(self, resource) -> None:
- self.resource = resource
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(init_resource)
- service = providers.Singleton(Service, resource=resource)
-
- container = Container()
-
- self.assertIsInstance(container.service(), asyncio.Future)
- self.assertIsInstance(container.resource(), asyncio.Future)
-
- resource = self._run(container.resource())
- service = self._run(container.service())
-
- self.assertIsInstance(resource, SomeResource)
- self.assertIsInstance(service.resource, SomeResource)
- self.assertIs(service.resource, resource)
diff --git a/tests/unit/providers/test_base_py2_py3.py b/tests/unit/providers/test_base_py2_py3.py
deleted file mode 100644
index 290d328e..00000000
--- a/tests/unit/providers/test_base_py2_py3.py
+++ /dev/null
@@ -1,791 +0,0 @@
-"""Dependency injector base providers unit tests."""
-
-import unittest
-import warnings
-
-from dependency_injector import (
- containers,
- providers,
- errors,
-)
-
-
-class ProviderTests(unittest.TestCase):
-
- def setUp(self):
- self.provider = providers.Provider()
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.provider))
-
- def test_call(self):
- self.assertRaises(NotImplementedError, self.provider.__call__)
-
- def test_delegate(self):
- with warnings.catch_warnings():
- warnings.simplefilter('ignore')
- delegate1 = self.provider.delegate()
- delegate2 = self.provider.delegate()
-
- self.assertIsInstance(delegate1, providers.Delegate)
- self.assertIs(delegate1(), self.provider)
-
- self.assertIsInstance(delegate2, providers.Delegate)
- self.assertIs(delegate2(), self.provider)
-
- self.assertIsNot(delegate1, delegate2)
-
- def test_provider(self):
- delegate1 = self.provider.provider
-
- self.assertIsInstance(delegate1, providers.Delegate)
- self.assertIs(delegate1(), self.provider)
-
- delegate2 = self.provider.provider
-
- self.assertIsInstance(delegate2, providers.Delegate)
- self.assertIs(delegate2(), self.provider)
-
- self.assertIsNot(delegate1, delegate2)
-
- def test_override(self):
- overriding_provider = providers.Provider()
- self.provider.override(overriding_provider)
- self.assertTrue(self.provider.overridden)
- self.assertIs(self.provider.last_overriding, overriding_provider)
-
- def test_double_override(self):
- overriding_provider1 = providers.Object(1)
- overriding_provider2 = providers.Object(2)
-
- self.provider.override(overriding_provider1)
- overriding_provider1.override(overriding_provider2)
-
- self.assertEqual(self.provider(), overriding_provider2())
-
- def test_overriding_context(self):
- overriding_provider = providers.Provider()
- with self.provider.override(overriding_provider):
- self.assertTrue(self.provider.overridden)
- self.assertFalse(self.provider.overridden)
-
- def test_override_with_itself(self):
- self.assertRaises(errors.Error, self.provider.override, self.provider)
-
- def test_override_with_not_provider(self):
- obj = object()
- self.provider.override(obj)
- self.assertIs(self.provider(), obj)
-
- def test_reset_last_overriding(self):
- overriding_provider1 = providers.Provider()
- overriding_provider2 = providers.Provider()
-
- self.provider.override(overriding_provider1)
- self.provider.override(overriding_provider2)
-
- self.assertIs(self.provider.overridden[-1], overriding_provider2)
- self.assertIs(self.provider.last_overriding, overriding_provider2)
-
- self.provider.reset_last_overriding()
- self.assertIs(self.provider.overridden[-1], overriding_provider1)
- self.assertIs(self.provider.last_overriding, overriding_provider1)
-
- self.provider.reset_last_overriding()
- self.assertFalse(self.provider.overridden)
- self.assertIsNone(self.provider.last_overriding)
-
- def test_reset_last_overriding_of_not_overridden_provider(self):
- self.assertRaises(errors.Error, self.provider.reset_last_overriding)
-
- def test_reset_override(self):
- overriding_provider = providers.Provider()
- self.provider.override(overriding_provider)
-
- self.assertTrue(self.provider.overridden)
- self.assertEqual(self.provider.overridden, (overriding_provider,))
-
- self.provider.reset_override()
-
- self.assertEqual(self.provider.overridden, tuple())
-
- def test_deepcopy(self):
- provider = providers.Provider()
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Provider)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Provider()
- provider_copy_memo = providers.Provider()
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Provider()
- overriding_provider = providers.Provider()
-
- provider.override(overriding_provider)
-
- provider_copy = providers.deepcopy(provider)
- overriding_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Provider)
-
- self.assertIsNot(overriding_provider, overriding_provider_copy)
- self.assertIsInstance(overriding_provider_copy, providers.Provider)
-
- def test_repr(self):
- self.assertEqual(repr(self.provider),
- ''.format(hex(id(self.provider))))
-
-
-class ObjectProviderTests(unittest.TestCase):
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Object(object())))
-
- def test_init_optional_provides(self):
- instance = object()
- provider = providers.Object()
- provider.set_provides(instance)
- self.assertIs(provider.provides, instance)
- self.assertIs(provider(), instance)
-
- def test_set_provides_returns_self(self):
- provider = providers.Object()
- self.assertIs(provider.set_provides(object()), provider)
-
- def test_provided_instance_provider(self):
- provider = providers.Object(object())
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_call_object_provider(self):
- obj = object()
- self.assertIs(providers.Object(obj)(), obj)
-
- def test_call_overridden_object_provider(self):
- obj1 = object()
- obj2 = object()
- provider = providers.Object(obj1)
- provider.override(providers.Object(obj2))
- self.assertIs(provider(), obj2)
-
- def test_deepcopy(self):
- provider = providers.Object(1)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Object)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Object(1)
- provider_copy_memo = providers.Provider()
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Object(1)
- overriding_provider = providers.Provider()
-
- provider.override(overriding_provider)
-
- provider_copy = providers.deepcopy(provider)
- overriding_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Object)
-
- self.assertIsNot(overriding_provider, overriding_provider_copy)
- self.assertIsInstance(overriding_provider_copy, providers.Provider)
-
- def test_deepcopy_doesnt_copy_provided_object(self):
- # Fixes bug #231
- # Details: https://github.com/ets-labs/python-dependency-injector/issues/231
- some_object = object()
- provider = providers.Object(some_object)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIs(provider(), some_object)
- self.assertIs(provider_copy(), some_object)
-
- def test_repr(self):
- some_object = object()
- provider = providers.Object(some_object)
- self.assertEqual(repr(provider),
- ''.format(
- repr(some_object),
- hex(id(provider))))
-
-
-class SelfProviderTests(unittest.TestCase):
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Self()))
-
- def test_call_object_provider(self):
- container = containers.DeclarativeContainer()
- self.assertIs(providers.Self(container)(), container)
-
- def test_set_container(self):
- container = containers.DeclarativeContainer()
- provider = providers.Self()
- provider.set_container(container)
- self.assertIs(provider(), container)
-
- def test_set_alt_names(self):
- provider = providers.Self()
- provider.set_alt_names({'foo', 'bar', 'baz'})
- self.assertEqual(set(provider.alt_names), {'foo', 'bar', 'baz'})
-
- def test_deepcopy(self):
- provider = providers.Self()
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Self)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Self()
- provider_copy_memo = providers.Provider()
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Self()
- overriding_provider = providers.Provider()
-
- provider.override(overriding_provider)
-
- provider_copy = providers.deepcopy(provider)
- overriding_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Self)
-
- self.assertIsNot(overriding_provider, overriding_provider_copy)
- self.assertIsInstance(overriding_provider_copy, providers.Provider)
-
- def test_repr(self):
- container = containers.DeclarativeContainer()
- provider = providers.Self(container)
- self.assertEqual(repr(provider),
- ''.format(
- repr(container),
- hex(id(provider))))
-
-
-class DelegateTests(unittest.TestCase):
-
- def setUp(self):
- self.delegated = providers.Provider()
- self.delegate = providers.Delegate(self.delegated)
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.delegate))
-
- def test_init_optional_provides(self):
- provider = providers.Delegate()
- provider.set_provides(self.delegated)
- self.assertIs(provider.provides, self.delegated)
- self.assertIs(provider(), self.delegated)
-
- def test_set_provides_returns_self(self):
- provider = providers.Delegate()
- self.assertIs(provider.set_provides(self.delegated), provider)
-
- def test_init_with_not_provider(self):
- self.assertRaises(errors.Error, providers.Delegate, object())
-
- def test_call(self):
- delegated1 = self.delegate()
- delegated2 = self.delegate()
-
- self.assertIs(delegated1, self.delegated)
- self.assertIs(delegated2, self.delegated)
-
- def test_repr(self):
- self.assertEqual(repr(self.delegate),
- ''.format(
- repr(self.delegated),
- hex(id(self.delegate))))
-
-
-class DependencyTests(unittest.TestCase):
-
- def setUp(self):
- self.provider = providers.Dependency(instance_of=list)
-
- def test_init_optional(self):
- list_provider = providers.List(1, 2, 3)
- provider = providers.Dependency()
- provider.set_instance_of(list)
- provider.set_default(list_provider)
-
- self.assertIs(provider.instance_of, list)
- self.assertIs(provider.default, list_provider)
- self.assertEqual(provider(), [1, 2, 3])
-
- def test_set_instance_of_returns_self(self):
- provider = providers.Dependency()
- self.assertIs(provider.set_instance_of(list), provider)
-
- def test_set_default_returns_self(self):
- provider = providers.Dependency()
- self.assertIs(provider.set_default(providers.Provider()), provider)
-
- def test_init_with_not_class(self):
- self.assertRaises(TypeError, providers.Dependency, object())
-
- def test_with_abc(self):
- try:
- import collections.abc as collections_abc
- except ImportError:
- import collections as collections_abc
-
- provider = providers.Dependency(collections_abc.Mapping)
- provider.provided_by(providers.Factory(dict))
-
- self.assertIsInstance(provider(), collections_abc.Mapping)
- self.assertIsInstance(provider(), dict)
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.provider))
-
- def test_provided_instance_provider(self):
- self.assertIsInstance(self.provider.provided, providers.ProvidedInstance)
-
- def test_default(self):
- provider = providers.Dependency(instance_of=dict, default={'foo': 'bar'})
- self.assertEqual(provider(), {'foo': 'bar'})
-
- def test_default_attribute(self):
- provider = providers.Dependency(instance_of=dict, default={'foo': 'bar'})
- self.assertEqual(provider.default(), {'foo': 'bar'})
-
- def test_default_provider(self):
- provider = providers.Dependency(instance_of=dict, default=providers.Factory(dict, foo='bar'))
- self.assertEqual(provider.default(), {'foo': 'bar'})
-
- def test_default_attribute_provider(self):
- default = providers.Factory(dict, foo='bar')
- provider = providers.Dependency(instance_of=dict, default=default)
-
- self.assertEqual(provider.default(), {'foo': 'bar'})
- self.assertIs(provider.default, default)
-
- def test_is_defined(self):
- provider = providers.Dependency()
- self.assertFalse(provider.is_defined)
-
- def test_is_defined_when_overridden(self):
- provider = providers.Dependency()
- provider.override('value')
- self.assertTrue(provider.is_defined)
-
- def test_is_defined_with_default(self):
- provider = providers.Dependency(default='value')
- self.assertTrue(provider.is_defined)
-
- def test_call_overridden(self):
- self.provider.provided_by(providers.Factory(list))
- self.assertIsInstance(self.provider(), list)
-
- def test_call_overridden_but_not_instance_of(self):
- self.provider.provided_by(providers.Factory(dict))
- self.assertRaises(errors.Error, self.provider)
-
- def test_call_undefined(self):
- with self.assertRaises(errors.Error) as context:
- self.provider()
- self.assertEqual(str(context.exception), 'Dependency is not defined')
-
- def test_call_undefined_error_message_with_container_instance_parent(self):
- class UserService:
- def __init__(self, database):
- self.database = database
-
- class Container(containers.DeclarativeContainer):
- database = providers.Dependency()
-
- user_service = providers.Factory(
- UserService,
- database=database, # <---- missing dependency
- )
-
- container = Container()
-
- with self.assertRaises(errors.Error) as context:
- container.user_service()
-
- self.assertEqual(str(context.exception), 'Dependency "Container.database" is not defined')
-
- def test_call_undefined_error_message_with_container_provider_parent_deep(self):
- class Database:
- pass
-
- class UserService:
- def __init__(self, db):
- self.db = db
-
- class Gateways(containers.DeclarativeContainer):
- database_client = providers.Singleton(Database)
-
- class Services(containers.DeclarativeContainer):
- gateways = providers.DependenciesContainer()
-
- user = providers.Factory(
- UserService,
- db=gateways.database_client,
- )
-
- class Container(containers.DeclarativeContainer):
- gateways = providers.Container(Gateways)
-
- services = providers.Container(
- Services,
- # gateways=gateways, # <---- missing dependency
- )
-
- container = Container()
-
- with self.assertRaises(errors.Error) as context:
- container.services().user()
-
- self.assertEqual(
- str(context.exception),
- 'Dependency "Container.services.gateways.database_client" is not defined',
- )
-
- def test_call_undefined_error_message_with_dependenciescontainer_provider_parent(self):
- class UserService:
- def __init__(self, db):
- self.db = db
-
- class Services(containers.DeclarativeContainer):
- gateways = providers.DependenciesContainer()
-
- user = providers.Factory(
- UserService,
- db=gateways.database_client, # <---- missing dependency
- )
-
- services = Services()
-
- with self.assertRaises(errors.Error) as context:
- services.user()
-
- self.assertEqual(
- str(context.exception),
- 'Dependency "Services.gateways.database_client" is not defined',
- )
-
- def test_assign_parent(self):
- parent = providers.DependenciesContainer()
- provider = providers.Dependency()
-
- provider.assign_parent(parent)
-
- self.assertIs(provider.parent, parent)
-
- def test_parent_name(self):
- container = containers.DynamicContainer()
- provider = providers.Dependency()
- container.name = provider
- self.assertEqual(provider.parent_name, 'name')
-
- def test_parent_name_with_deep_parenting(self):
- provider = providers.Dependency()
- container = providers.DependenciesContainer(name=provider)
- _ = providers.DependenciesContainer(container=container)
- self.assertEqual(provider.parent_name, 'container.name')
-
- def test_parent_name_is_none(self):
- provider = providers.DependenciesContainer()
- self.assertIsNone(provider.parent_name)
-
- def test_parent_deepcopy(self):
- container = containers.DynamicContainer()
- provider = providers.Dependency()
- container.name = provider
-
- copied = providers.deepcopy(container)
-
- self.assertIs(container.name.parent, container)
- self.assertIs(copied.name.parent, copied)
-
- self.assertIsNot(container, copied)
- self.assertIsNot(container.name, copied.name)
- self.assertIsNot(container.name.parent, copied.name.parent)
-
- def test_forward_attr_to_default(self):
- default = providers.Configuration()
-
- provider = providers.Dependency(default=default)
- provider.from_dict({'foo': 'bar'})
-
- self.assertEqual(default(), {'foo': 'bar'})
-
- def test_forward_attr_to_overriding(self):
- overriding = providers.Configuration()
-
- provider = providers.Dependency()
- provider.override(overriding)
- provider.from_dict({'foo': 'bar'})
-
- self.assertEqual(overriding(), {'foo': 'bar'})
-
- def test_forward_attr_to_none(self):
- provider = providers.Dependency()
- with self.assertRaises(AttributeError):
- provider.from_dict
-
- def test_deepcopy(self):
- provider = providers.Dependency(int)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Dependency)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Dependency(int)
- provider_copy_memo = providers.Provider()
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Dependency(int)
- overriding_provider = providers.Provider()
-
- provider.override(overriding_provider)
-
- provider_copy = providers.deepcopy(provider)
- overriding_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Dependency)
-
- self.assertIsNot(overriding_provider, overriding_provider_copy)
- self.assertIsInstance(overriding_provider_copy, providers.Provider)
-
- def test_deep_copy_default_object(self):
- default = {'foo': 'bar'}
- provider = providers.Dependency(dict, default=default)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIs(provider_copy(), default)
- self.assertIs(provider_copy.default(), default)
-
- def test_deep_copy_default_provider(self):
- bar = object()
- default = providers.Factory(dict, foo=providers.Object(bar))
- provider = providers.Dependency(dict, default=default)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertEqual(provider_copy(), {'foo': bar})
- self.assertEqual(provider_copy.default(), {'foo': bar})
- self.assertIs(provider_copy()['foo'], bar)
-
- def test_with_container_default_object(self):
- default = {'foo': 'bar'}
-
- class Container(containers.DeclarativeContainer):
- provider = providers.Dependency(dict, default=default)
-
- container = Container()
-
- self.assertIs(container.provider(), default)
- self.assertIs(container.provider.default(), default)
-
- def test_with_container_default_provider(self):
- bar = object()
-
- class Container(containers.DeclarativeContainer):
- provider = providers.Dependency(dict, default=providers.Factory(dict, foo=providers.Object(bar)))
-
- container = Container()
-
- self.assertEqual(container.provider(), {'foo': bar})
- self.assertEqual(container.provider.default(), {'foo': bar})
- self.assertIs(container.provider()['foo'], bar)
-
- def test_with_container_default_provider_with_overriding(self):
- bar = object()
- baz = object()
-
- class Container(containers.DeclarativeContainer):
- provider = providers.Dependency(dict, default=providers.Factory(dict, foo=providers.Object(bar)))
-
- container = Container(provider=providers.Factory(dict, foo=providers.Object(baz)))
-
- self.assertEqual(container.provider(), {'foo': baz})
- self.assertEqual(container.provider.default(), {'foo': bar})
- self.assertIs(container.provider()['foo'], baz)
-
- def test_repr(self):
- self.assertEqual(repr(self.provider),
- ''.format(
- repr(list),
- hex(id(self.provider))))
-
- def test_repr_in_container(self):
- class Container(containers.DeclarativeContainer):
- dependency = providers.Dependency(instance_of=int)
-
- container = Container()
-
- self.assertEqual(repr(container.dependency),
- ''.format(
- repr(int),
- hex(id(container.dependency))))
-
-
-class ExternalDependencyTests(unittest.TestCase):
-
- def setUp(self):
- self.provider = providers.ExternalDependency(instance_of=list)
-
- def test_is_instance(self):
- self.assertIsInstance(self.provider, providers.Dependency)
-
-
-class DependenciesContainerTests(unittest.TestCase):
-
- class Container(containers.DeclarativeContainer):
-
- dependency = providers.Provider()
-
- def setUp(self):
- self.provider = providers.DependenciesContainer()
- self.container = self.Container()
-
- def test_getattr(self):
- has_dependency = hasattr(self.provider, 'dependency')
- dependency = self.provider.dependency
-
- self.assertIsInstance(dependency, providers.Dependency)
- self.assertIs(dependency, self.provider.dependency)
- self.assertTrue(has_dependency)
- self.assertIsNone(dependency.last_overriding)
-
- def test_getattr_with_container(self):
- self.provider.override(self.container)
-
- dependency = self.provider.dependency
-
- self.assertTrue(dependency.overridden)
- self.assertIs(dependency.last_overriding, self.container.dependency)
-
- def test_providers(self):
- dependency1 = self.provider.dependency1
- dependency2 = self.provider.dependency2
- self.assertEqual(self.provider.providers, {'dependency1': dependency1,
- 'dependency2': dependency2})
-
- def test_override(self):
- dependency = self.provider.dependency
- self.provider.override(self.container)
-
- self.assertTrue(dependency.overridden)
- self.assertIs(dependency.last_overriding, self.container.dependency)
-
- def test_reset_last_overriding(self):
- dependency = self.provider.dependency
- self.provider.override(self.container)
- self.provider.reset_last_overriding()
-
- self.assertIsNone(dependency.last_overriding)
- self.assertIsNone(dependency.last_overriding)
-
- def test_reset_override(self):
- dependency = self.provider.dependency
- self.provider.override(self.container)
- self.provider.reset_override()
-
- self.assertFalse(dependency.overridden)
- self.assertFalse(dependency.overridden)
-
- def test_assign_parent(self):
- parent = providers.DependenciesContainer()
- provider = providers.DependenciesContainer()
-
- provider.assign_parent(parent)
-
- self.assertIs(provider.parent, parent)
-
- def test_parent_name(self):
- container = containers.DynamicContainer()
- provider = providers.DependenciesContainer()
- container.name = provider
- self.assertEqual(provider.parent_name, 'name')
-
- def test_parent_name_with_deep_parenting(self):
- provider = providers.DependenciesContainer()
- container = providers.DependenciesContainer(name=provider)
- _ = providers.DependenciesContainer(container=container)
- self.assertEqual(provider.parent_name, 'container.name')
-
- def test_parent_name_is_none(self):
- provider = providers.DependenciesContainer()
- self.assertIsNone(provider.parent_name)
-
- def test_parent_deepcopy(self):
- container = containers.DynamicContainer()
- provider = providers.DependenciesContainer()
- container.name = provider
-
- copied = providers.deepcopy(container)
-
- self.assertIs(container.name.parent, container)
- self.assertIs(copied.name.parent, copied)
-
- self.assertIsNot(container, copied)
- self.assertIsNot(container.name, copied.name)
- self.assertIsNot(container.name.parent, copied.name.parent)
-
- def test_parent_set_on__getattr__(self):
- provider = providers.DependenciesContainer()
- self.assertIsInstance(provider.name, providers.Dependency)
- self.assertIs(provider.name.parent, provider)
-
- def test_parent_set_on__init__(self):
- provider = providers.Dependency()
- container = providers.DependenciesContainer(name=provider)
- self.assertIs(container.name, provider)
- self.assertIs(container.name.parent, container)
-
- def test_resolve_provider_name(self):
- container = providers.DependenciesContainer()
- self.assertEqual(container.resolve_provider_name(container.name), 'name')
-
- def test_resolve_provider_name_no_provider(self):
- container = providers.DependenciesContainer()
- with self.assertRaises(errors.Error):
- container.resolve_provider_name(providers.Provider())
diff --git a/tests/unit/providers/test_callables_py2_py3.py b/tests/unit/providers/test_callables_py2_py3.py
deleted file mode 100644
index 112f5d7d..00000000
--- a/tests/unit/providers/test_callables_py2_py3.py
+++ /dev/null
@@ -1,296 +0,0 @@
-"""Dependency injector callable providers unit tests."""
-
-import sys
-
-import unittest
-
-from dependency_injector import (
- providers,
- errors,
-)
-
-
-def _example(arg1, arg2, arg3, arg4):
- return arg1, arg2, arg3, arg4
-
-
-class CallableTests(unittest.TestCase):
-
- def test_init_with_callable(self):
- self.assertTrue(providers.Callable(_example))
-
- def test_init_with_not_callable(self):
- self.assertRaises(errors.Error, providers.Callable, 123)
-
- def test_init_optional_provides(self):
- provider = providers.Callable()
- provider.set_provides(object)
- self.assertIs(provider.provides, object)
- self.assertIsInstance(provider(), object)
-
- def test_set_provides_returns_self(self):
- provider = providers.Callable()
- self.assertIs(provider.set_provides(object), provider)
-
- def test_provided_instance_provider(self):
- provider = providers.Callable(_example)
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_call(self):
- provider = providers.Callable(lambda: True)
- self.assertTrue(provider())
-
- def test_call_with_positional_args(self):
- provider = providers.Callable(_example,
- 1, 2, 3, 4)
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_call_with_keyword_args(self):
- provider = providers.Callable(_example,
- arg1=1, arg2=2, arg3=3, arg4=4)
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_call_with_positional_and_keyword_args(self):
- provider = providers.Callable(_example,
- 1, 2,
- arg3=3, arg4=4)
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_call_with_context_args(self):
- provider = providers.Callable(_example, 1, 2)
- self.assertTupleEqual(provider(3, 4), (1, 2, 3, 4))
-
- def test_call_with_context_kwargs(self):
- provider = providers.Callable(_example, arg1=1)
- self.assertTupleEqual(provider(arg2=2, arg3=3, arg4=4), (1, 2, 3, 4))
-
- def test_call_with_context_args_and_kwargs(self):
- provider = providers.Callable(_example, 1)
- self.assertTupleEqual(provider(2, arg3=3, arg4=4), (1, 2, 3, 4))
-
- def test_fluent_interface(self):
- provider = providers.Singleton(_example) \
- .add_args(1, 2) \
- .add_kwargs(arg3=3, arg4=4)
-
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_set_args(self):
- provider = providers.Callable(_example) \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
-
- def test_set_kwargs(self):
- provider = providers.Callable(_example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .set_kwargs(init_arg3=4, init_arg4=5)
- self.assertEqual(provider.kwargs, dict(init_arg3=4, init_arg4=5))
-
- def test_clear_args(self):
- provider = providers.Callable(_example) \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
-
- def test_clear_kwargs(self):
- provider = providers.Callable(_example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, dict())
-
- def test_call_overridden(self):
- provider = providers.Callable(_example)
-
- provider.override(providers.Object((4, 3, 2, 1)))
- provider.override(providers.Object((1, 2, 3, 4)))
-
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_deepcopy(self):
- provider = providers.Callable(_example)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.provides, provider_copy.provides)
- self.assertIsInstance(provider, providers.Callable)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Callable(_example)
- provider_copy_memo = providers.Callable(_example)
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_args(self):
- provider = providers.Callable(_example)
- dependent_provider1 = providers.Callable(list)
- dependent_provider2 = providers.Callable(dict)
-
- provider.add_args(dependent_provider1, dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
-
- self.assertNotEqual(provider.args, provider_copy.args)
-
- self.assertIs(dependent_provider1.provides,
- dependent_provider_copy1.provides)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.provides,
- dependent_provider_copy2.provides)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_kwargs(self):
- provider = providers.Callable(_example)
- dependent_provider1 = providers.Callable(list)
- dependent_provider2 = providers.Callable(dict)
-
- provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['a1']
- dependent_provider_copy2 = provider_copy.kwargs['a2']
-
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
-
- self.assertIs(dependent_provider1.provides,
- dependent_provider_copy1.provides)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.provides,
- dependent_provider_copy2.provides)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_overridden(self):
- provider = providers.Callable(_example)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.provides, provider_copy.provides)
- self.assertIsInstance(provider, providers.Callable)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Callable(_example)
- provider.add_args(sys.stdin)
- provider.add_kwargs(a2=sys.stdout)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Callable)
- self.assertIs(provider.args[0], sys.stdin)
- self.assertIs(provider.kwargs['a2'], sys.stdout)
-
- def test_repr(self):
- provider = providers.Callable(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class DelegatedCallableTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.DelegatedCallable(_example),
- providers.Callable)
-
- def test_is_provider(self):
- self.assertTrue(
- providers.is_provider(providers.DelegatedCallable(_example)))
-
- def test_is_delegated_provider(self):
- provider = providers.DelegatedCallable(_example)
- self.assertTrue(providers.is_delegated(provider))
-
- def test_repr(self):
- provider = providers.DelegatedCallable(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class AbstractCallableTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.AbstractCallable(_example),
- providers.Callable)
-
- def test_call_overridden_by_callable(self):
- def _abstract_example():
- pass
-
- provider = providers.AbstractCallable(_abstract_example)
- provider.override(providers.Callable(_example))
-
- self.assertTrue(provider(1, 2, 3, 4), (1, 2, 3, 4))
-
- def test_call_overridden_by_delegated_callable(self):
- def _abstract_example():
- pass
-
- provider = providers.AbstractCallable(_abstract_example)
- provider.override(providers.DelegatedCallable(_example))
-
- self.assertTrue(provider(1, 2, 3, 4), (1, 2, 3, 4))
-
- def test_call_not_overridden(self):
- provider = providers.AbstractCallable(_example)
-
- with self.assertRaises(errors.Error):
- provider(1, 2, 3, 4)
-
- def test_override_by_not_callable(self):
- provider = providers.AbstractCallable(_example)
-
- with self.assertRaises(errors.Error):
- provider.override(providers.Factory(object))
-
- def test_provide_not_implemented(self):
- provider = providers.AbstractCallable(_example)
-
- with self.assertRaises(NotImplementedError):
- provider._provide((1, 2, 3, 4), dict())
-
- def test_repr(self):
- provider = providers.AbstractCallable(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class CallableDelegateTests(unittest.TestCase):
-
- def setUp(self):
- self.delegated = providers.Callable(_example)
- self.delegate = providers.CallableDelegate(self.delegated)
-
- def test_is_delegate(self):
- self.assertIsInstance(self.delegate, providers.Delegate)
-
- def test_init_with_not_callable(self):
- self.assertRaises(errors.Error,
- providers.CallableDelegate,
- providers.Object(object()))
diff --git a/tests/unit/providers/test_configuration_py2_py3.py b/tests/unit/providers/test_configuration_py2_py3.py
deleted file mode 100644
index 303f5a3d..00000000
--- a/tests/unit/providers/test_configuration_py2_py3.py
+++ /dev/null
@@ -1,1579 +0,0 @@
-"""Dependency injector config providers unit tests."""
-
-import contextlib
-import decimal
-import os
-import sys
-import tempfile
-
-import unittest
-
-from dependency_injector import containers, providers, errors
-try:
- import yaml
-except ImportError:
- yaml = None
-
-try:
- import pydantic
-except ImportError:
- pydantic = None
-
-
-class ConfigTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- def tearDown(self):
- del self.config
-
- def test_init_optional(self):
- provider = providers.Configuration()
- provider.set_name('myconfig')
- provider.set_default({'foo': 'bar'})
- provider.set_strict(True)
-
- self.assertEqual(provider.get_name(), 'myconfig')
- self.assertEqual(provider.get_default(), {'foo': 'bar'})
- self.assertTrue(provider.get_strict())
-
- def test_set_name_returns_self(self):
- provider = providers.Configuration()
- self.assertIs(provider.set_name('myconfig'), provider)
-
- def test_set_default_returns_self(self):
- provider = providers.Configuration()
- self.assertIs(provider.set_default({}), provider)
-
- def test_set_strict_returns_self(self):
- provider = providers.Configuration()
- self.assertIs(provider.set_strict(True), provider)
-
- def test_default_name(self):
- config = providers.Configuration()
- self.assertEqual(config.get_name(), 'config')
-
- def test_providers_are_providers(self):
- self.assertTrue(providers.is_provider(self.config.a))
- self.assertTrue(providers.is_provider(self.config.a.b))
- self.assertTrue(providers.is_provider(self.config.a.b.c))
- self.assertTrue(providers.is_provider(self.config.a.b.d))
-
- def test_providers_are_not_delegates(self):
- self.assertFalse(providers.is_delegated(self.config.a))
- self.assertFalse(providers.is_delegated(self.config.a.b))
- self.assertFalse(providers.is_delegated(self.config.a.b.c))
- self.assertFalse(providers.is_delegated(self.config.a.b.d))
-
- def test_providers_identity(self):
- self.assertIs(self.config.a, self.config.a)
- self.assertIs(self.config.a.b, self.config.a.b)
- self.assertIs(self.config.a.b.c, self.config.a.b.c)
- self.assertIs(self.config.a.b.d, self.config.a.b.d)
-
- def test_get_name(self):
- self.assertEqual(self.config.a.b.c.get_name(), 'config.a.b.c')
-
- def test_providers_value_setting(self):
- a = self.config.a
- ab = self.config.a.b
- abc = self.config.a.b.c
- abd = self.config.a.b.d
-
- self.config.update({'a': {'b': {'c': 1, 'd': 2}}})
-
- self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(ab(), {'c': 1, 'd': 2})
- self.assertEqual(abc(), 1)
- self.assertEqual(abd(), 2)
-
- def test_providers_with_already_set_value(self):
- self.config.update({'a': {'b': {'c': 1, 'd': 2}}})
-
- a = self.config.a
- ab = self.config.a.b
- abc = self.config.a.b.c
- abd = self.config.a.b.d
-
- self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(ab(), {'c': 1, 'd': 2})
- self.assertEqual(abc(), 1)
- self.assertEqual(abd(), 2)
-
- def test_as_int(self):
- value_provider = providers.Callable(lambda value: value, self.config.test.as_int())
- self.config.from_dict({'test': '123'})
-
- value = value_provider()
-
- self.assertEqual(value, 123)
-
- def test_as_float(self):
- value_provider = providers.Callable(lambda value: value, self.config.test.as_float())
- self.config.from_dict({'test': '123.123'})
-
- value = value_provider()
-
- self.assertEqual(value, 123.123)
-
- def test_as_(self):
- value_provider = providers.Callable(
- lambda value: value,
- self.config.test.as_(decimal.Decimal),
- )
- self.config.from_dict({'test': '123.123'})
-
- value = value_provider()
-
- self.assertEqual(value, decimal.Decimal('123.123'))
-
- @unittest.skipIf(sys.version_info[:2] == (2, 7), 'Python 2.7 does not support this assert')
- def test_required(self):
- provider = providers.Callable(
- lambda value: value,
- self.config.a.required(),
- )
- with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a"'):
- provider()
-
- def test_required_defined_none(self):
- provider = providers.Callable(
- lambda value: value,
- self.config.a.required(),
- )
- self.config.from_dict({'a': None})
- self.assertIsNone(provider())
-
- def test_required_no_side_effect(self):
- _ = providers.Callable(
- lambda value: value,
- self.config.a.required(),
- )
- self.assertIsNone(self.config.a())
-
- def test_required_as_(self):
- provider = providers.List(
- self.config.int_test.required().as_int(),
- self.config.float_test.required().as_float(),
- self.config._as_test.required().as_(decimal.Decimal),
- )
- self.config.from_dict({'int_test': '1', 'float_test': '2.0', '_as_test': '3.0'})
-
- self.assertEqual(provider(), [1, 2.0, decimal.Decimal('3.0')])
-
- def test_providers_value_override(self):
- a = self.config.a
- ab = self.config.a.b
- abc = self.config.a.b.c
- abd = self.config.a.b.d
-
- self.config.override({'a': {'b': {'c': 1, 'd': 2}}})
-
- self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(ab(), {'c': 1, 'd': 2})
- self.assertEqual(abc(), 1)
- self.assertEqual(abd(), 2)
-
- def test_configuration_option_override_and_reset_override(self):
- # Bug: https://github.com/ets-labs/python-dependency-injector/issues/319
- self.config.from_dict({'a': {'b': {'c': 1}}})
-
- self.assertEqual(self.config.a.b.c(), 1)
-
- with self.config.set('a.b.c', 'xxx'):
- self.assertEqual(self.config.a.b.c(), 'xxx')
- self.assertEqual(self.config.a.b.c(), 1)
-
- with self.config.a.b.c.override('yyy'):
- self.assertEqual(self.config.a.b.c(), 'yyy')
-
- self.assertEqual(self.config.a.b.c(), 1)
-
- def test_providers_with_already_overridden_value(self):
- self.config.override({'a': {'b': {'c': 1, 'd': 2}}})
-
- a = self.config.a
- ab = self.config.a.b
- abc = self.config.a.b.c
- abd = self.config.a.b.d
-
- self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(ab(), {'c': 1, 'd': 2})
- self.assertEqual(abc(), 1)
- self.assertEqual(abd(), 2)
-
- def test_providers_with_default_value(self):
- self.config = providers.Configuration(
- name='config', default={'a': {'b': {'c': 1, 'd': 2}}})
-
- a = self.config.a
- ab = self.config.a.b
- abc = self.config.a.b.c
- abd = self.config.a.b.d
-
- self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(ab(), {'c': 1, 'd': 2})
- self.assertEqual(abc(), 1)
- self.assertEqual(abd(), 2)
-
- def test_providers_with_default_value_overriding(self):
- self.config = providers.Configuration(
- name='config', default={'a': {'b': {'c': 1, 'd': 2}}})
-
- self.assertEqual(self.config.a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(self.config.a.b(), {'c': 1, 'd': 2})
- self.assertEqual(self.config.a.b.c(), 1)
- self.assertEqual(self.config.a.b.d(), 2)
-
- self.config.override({'a': {'b': {'c': 3, 'd': 4}}})
- self.assertEqual(self.config.a(), {'b': {'c': 3, 'd': 4}})
- self.assertEqual(self.config.a.b(), {'c': 3, 'd': 4})
- self.assertEqual(self.config.a.b.c(), 3)
- self.assertEqual(self.config.a.b.d(), 4)
-
- self.config.reset_override()
- self.assertEqual(self.config.a(), {'b': {'c': 1, 'd': 2}})
- self.assertEqual(self.config.a.b(), {'c': 1, 'd': 2})
- self.assertEqual(self.config.a.b.c(), 1)
- self.assertEqual(self.config.a.b.d(), 2)
-
- def test_value_of_undefined_option(self):
- self.assertIsNone(self.config.a())
-
- @unittest.skipIf(sys.version_info[:2] == (2, 7), 'Python 2.7 does not support this assert')
- def test_value_of_undefined_option_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a"'):
- self.config.a()
-
- @unittest.skipIf(sys.version_info[:2] == (2, 7), 'Python 2.7 does not support this assert')
- def test_value_of_undefined_option_with_root_none_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.override(None)
- with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a"'):
- self.config.a()
-
- def test_value_of_defined_none_option_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_dict({'a': None})
- self.assertIsNone(self.config.a())
-
- def test_getting_of_special_attributes(self):
- with self.assertRaises(AttributeError):
- self.config.__name__
-
- def test_getting_of_special_attributes_from_child(self):
- a = self.config.a
- with self.assertRaises(AttributeError):
- a.__name__
-
- def test_context_manager_alias(self):
- class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- container = Container()
-
- with container.config as cfg:
- cfg.override({'foo': 'foo', 'bar': 'bar'})
-
- self.assertEqual(container.config(), {'foo': 'foo', 'bar': 'bar'})
- self.assertEqual(cfg(), {'foo': 'foo', 'bar': 'bar'})
- self.assertIs(container.config, cfg)
-
- def test_option_context_manager_alias(self):
- class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- container = Container()
-
- with container.config.option as opt:
- opt.override({'foo': 'foo', 'bar': 'bar'})
-
- self.assertEqual(container.config(), {'option': {'foo': 'foo', 'bar': 'bar'}})
- self.assertEqual(container.config.option(), {'foo': 'foo', 'bar': 'bar'})
- self.assertEqual(opt(), {'foo': 'foo', 'bar': 'bar'})
- self.assertIs(container.config.option, opt)
-
- def test_missing_key(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/358
- self.config.override(None)
- value = self.config.key()
-
- self.assertIsNone(value)
-
- def test_deepcopy(self):
- provider = providers.Configuration('config')
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Configuration)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Configuration('config')
- provider_copy_memo = providers.Configuration('config')
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Configuration('config')
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Configuration)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_repr(self):
- self.assertEqual(repr(self.config),
- ''.format(
- repr('config'),
- hex(id(self.config))))
-
- def test_repr_child(self):
- self.assertEqual(repr(self.config.a.b.c),
- ''.format(
- repr('config.a.b.c'),
- hex(id(self.config.a.b.c))))
-
-
-class ConfigLinkingTests(unittest.TestCase):
-
- class TestCore(containers.DeclarativeContainer):
- config = providers.Configuration('core')
- value_getter = providers.Callable(lambda _: _, config.value)
-
- class TestServices(containers.DeclarativeContainer):
- config = providers.Configuration('services')
- value_getter = providers.Callable(lambda _: _, config.value)
-
- def test(self):
- root_config = providers.Configuration('main')
- core = self.TestCore(config=root_config.core)
- services = self.TestServices(config=root_config.services)
-
- root_config.override(
- {
- 'core': {
- 'value': 'core',
- },
- 'services': {
- 'value': 'services',
- },
- },
- )
-
- self.assertEqual(core.config(), {'value': 'core'})
- self.assertEqual(core.config.value(), 'core')
- self.assertEqual(core.value_getter(), 'core')
-
- self.assertEqual(services.config(), {'value': 'services'})
- self.assertEqual(services.config.value(), 'services')
- self.assertEqual(services.value_getter(), 'services')
-
- def test_double_override(self):
- root_config = providers.Configuration('main')
- core = self.TestCore(config=root_config.core)
- services = self.TestServices(config=root_config.services)
-
- root_config.override(
- {
- 'core': {
- 'value': 'core1',
- },
- 'services': {
- 'value': 'services1',
- },
- },
- )
- root_config.override(
- {
- 'core': {
- 'value': 'core2',
- },
- 'services': {
- 'value': 'services2',
- },
- },
- )
-
- self.assertEqual(core.config(), {'value': 'core2'})
- self.assertEqual(core.config.value(), 'core2')
- self.assertEqual(core.value_getter(), 'core2')
-
- self.assertEqual(services.config(), {'value': 'services2'})
- self.assertEqual(services.config.value(), 'services2')
- self.assertEqual(services.value_getter(), 'services2')
-
- def test_reset_overriding_cache(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/428
- class Core(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- greetings = providers.Factory(str, config.greeting)
-
- class Application(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- core = providers.Container(
- Core,
- config=config,
- )
-
- greetings = providers.Factory(str, config.greeting)
-
- container = Application()
-
- container.config.set('greeting', 'Hello World')
- self.assertEqual(container.greetings(), 'Hello World')
- self.assertEqual(container.core.greetings(), 'Hello World')
-
- container.config.set('greeting', 'Hello Bob')
- self.assertEqual(container.greetings(), 'Hello Bob')
- self.assertEqual(container.core.greetings(), 'Hello Bob')
-
- def test_reset_overriding_cache_for_option(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/428
- class Core(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- greetings = providers.Factory(str, config.greeting)
-
- class Application(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- core = providers.Container(
- Core,
- config=config.option,
- )
-
- greetings = providers.Factory(str, config.option.greeting)
-
- container = Application()
-
- container.config.set('option.greeting', 'Hello World')
- self.assertEqual(container.greetings(), 'Hello World')
- self.assertEqual(container.core.greetings(), 'Hello World')
-
- container.config.set('option.greeting', 'Hello Bob')
- self.assertEqual(container.greetings(), 'Hello Bob')
- self.assertEqual(container.core.greetings(), 'Hello Bob')
-
-
-class ConfigFromIniTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- _, self.config_file_1 = tempfile.mkstemp()
- with open(self.config_file_1, 'w') as config_file:
- config_file.write(
- '[section1]\n'
- 'value1=1\n'
- '\n'
- '[section2]\n'
- 'value2=2\n'
- )
-
- _, self.config_file_2 = tempfile.mkstemp()
- with open(self.config_file_2, 'w') as config_file:
- config_file.write(
- '[section1]\n'
- 'value1=11\n'
- 'value11=11\n'
- '[section3]\n'
- 'value3=3\n'
- )
-
- def tearDown(self):
- del self.config
- os.unlink(self.config_file_1)
- os.unlink(self.config_file_2)
-
- def test(self):
- self.config.from_ini(self.config_file_1)
-
- self.assertEqual(self.config(), {'section1': {'value1': '1'}, 'section2': {'value2': '2'}})
- self.assertEqual(self.config.section1(), {'value1': '1'})
- self.assertEqual(self.config.section1.value1(), '1')
- self.assertEqual(self.config.section2(), {'value2': '2'})
- self.assertEqual(self.config.section2.value2(), '2')
-
- def test_option(self):
- self.config.option.from_ini(self.config_file_1)
-
- self.assertEqual(self.config(), {'option': {'section1': {'value1': '1'}, 'section2': {'value2': '2'}}})
- self.assertEqual(self.config.option(), {'section1': {'value1': '1'}, 'section2': {'value2': '2'}})
- self.assertEqual(self.config.option.section1(), {'value1': '1'})
- self.assertEqual(self.config.option.section1.value1(), '1')
- self.assertEqual(self.config.option.section2(), {'value2': '2'})
- self.assertEqual(self.config.option.section2.value2(), '2')
-
- def test_merge(self):
- self.config.from_ini(self.config_file_1)
- self.config.from_ini(self.config_file_2)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': '11',
- 'value11': '11',
- },
- 'section2': {
- 'value2': '2',
- },
- 'section3': {
- 'value3': '3',
- },
- },
- )
- self.assertEqual(self.config.section1(), {'value1': '11', 'value11': '11'})
- self.assertEqual(self.config.section1.value1(), '11')
- self.assertEqual(self.config.section1.value11(), '11')
- self.assertEqual(self.config.section2(), {'value2': '2'})
- self.assertEqual(self.config.section2.value2(), '2')
- self.assertEqual(self.config.section3(), {'value3': '3'})
- self.assertEqual(self.config.section3.value3(), '3')
-
- def test_file_does_not_exist(self):
- self.config.from_ini('./does_not_exist.ini')
- self.assertEqual(self.config(), {})
-
- def test_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(IOError):
- self.config.from_ini('./does_not_exist.ini')
-
- def test_option_file_does_not_exist(self):
- self.config.option.from_ini('does_not_exist.ini')
- self.assertIsNone(self.config.option.undefined())
-
- def test_option_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(IOError):
- self.config.option.from_ini('./does_not_exist.ini')
-
- def test_required_file_does_not_exist(self):
- with self.assertRaises(IOError):
- self.config.from_ini('./does_not_exist.ini', required=True)
-
- def test_required_option_file_does_not_exist(self):
- with self.assertRaises(IOError):
- self.config.option.from_ini('./does_not_exist.ini', required=True)
-
- def test_not_required_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_ini('./does_not_exist.ini', required=False)
- self.assertEqual(self.config(), {})
-
- def test_not_required_option_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_ini('./does_not_exist.ini', required=False)
- with self.assertRaises(errors.Error):
- self.config.option()
-
-
-class ConfigFromIniWithEnvInterpolationTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- os.environ['CONFIG_TEST_ENV'] = 'test-value'
- os.environ['CONFIG_TEST_PATH'] = 'test-path'
-
- _, self.config_file = tempfile.mkstemp()
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section1]\n'
- 'value1=${CONFIG_TEST_ENV}\n'
- 'value2=${CONFIG_TEST_PATH}/path\n'
- )
-
- def tearDown(self):
- del self.config
- os.environ.pop('CONFIG_TEST_ENV', None)
- os.environ.pop('CONFIG_TEST_PATH', None)
- os.unlink(self.config_file)
-
- def test_env_variable_interpolation(self):
- self.config.from_ini(self.config_file)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- },
- )
- self.assertEqual(
- self.config.section1(),
- {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- )
- self.assertEqual(self.config.section1.value1(), 'test-value')
- self.assertEqual(self.config.section1.value2(), 'test-path/path')
-
- def test_missing_envs_not_required(self):
- del os.environ['CONFIG_TEST_ENV']
- del os.environ['CONFIG_TEST_PATH']
-
- self.config.from_ini(self.config_file)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': '',
- 'value2': '/path',
- },
- },
- )
- self.assertEqual(
- self.config.section1(),
- {
- 'value1': '',
- 'value2': '/path',
- },
- )
- self.assertEqual(self.config.section1.value1(), '')
- self.assertEqual(self.config.section1.value2(), '/path')
-
- def test_missing_envs_required(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section]\n'
- 'undefined=${UNDEFINED}\n'
- )
-
- with self.assertRaises(ValueError) as context:
- self.config.from_ini(self.config_file, envs_required=True)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- def test_missing_envs_strict_mode(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section]\n'
- 'undefined=${UNDEFINED}\n'
- )
-
- self.config.set_strict(True)
- with self.assertRaises(ValueError) as context:
- self.config.from_ini(self.config_file)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- def test_option_missing_envs_not_required(self):
- del os.environ['CONFIG_TEST_ENV']
- del os.environ['CONFIG_TEST_PATH']
-
- self.config.option.from_ini(self.config_file)
-
- self.assertEqual(
- self.config.option(),
- {
- 'section1': {
- 'value1': '',
- 'value2': '/path',
- },
- },
- )
- self.assertEqual(
- self.config.option.section1(),
- {
- 'value1': '',
- 'value2': '/path',
- },
- )
- self.assertEqual(self.config.option.section1.value1(), '')
- self.assertEqual(self.config.option.section1.value2(), '/path')
-
- def test_option_missing_envs_required(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section]\n'
- 'undefined=${UNDEFINED}\n'
- )
-
- with self.assertRaises(ValueError) as context:
- self.config.option.from_ini(self.config_file, envs_required=True)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- def test_option_missing_envs_strict_mode(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section]\n'
- 'undefined=${UNDEFINED}\n'
- )
-
- self.config.set_strict(True)
- with self.assertRaises(ValueError) as context:
- self.config.option.from_ini(self.config_file)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- def test_default_values(self):
- os.environ['DEFINED'] = 'defined'
- self.addCleanup(os.environ.pop, 'DEFINED')
-
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- '[section]\n'
- 'defined_with_default=${DEFINED:default}\n'
- 'undefined_with_default=${UNDEFINED:default}\n'
- 'complex=${DEFINED}/path/${DEFINED:default}/${UNDEFINED}/${UNDEFINED:default}\n'
- )
-
- self.config.from_ini(self.config_file)
-
- self.assertEqual(
- self.config.section(),
- {
- 'defined_with_default': 'defined',
- 'undefined_with_default': 'default',
- 'complex': 'defined/path/defined//default',
- },
- )
-
-
-class ConfigFromYamlTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- _, self.config_file_1 = tempfile.mkstemp()
- with open(self.config_file_1, 'w') as config_file:
- config_file.write(
- 'section1:\n'
- ' value1: 1\n'
- '\n'
- 'section2:\n'
- ' value2: 2\n'
- )
-
- _, self.config_file_2 = tempfile.mkstemp()
- with open(self.config_file_2, 'w') as config_file:
- config_file.write(
- 'section1:\n'
- ' value1: 11\n'
- ' value11: 11\n'
- 'section3:\n'
- ' value3: 3\n'
- )
-
- def tearDown(self):
- del self.config
- os.unlink(self.config_file_1)
- os.unlink(self.config_file_2)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test(self):
- self.config.from_yaml(self.config_file_1)
-
- self.assertEqual(self.config(), {'section1': {'value1': 1}, 'section2': {'value2': 2}})
- self.assertEqual(self.config.section1(), {'value1': 1})
- self.assertEqual(self.config.section1.value1(), 1)
- self.assertEqual(self.config.section2(), {'value2': 2})
- self.assertEqual(self.config.section2.value2(), 2)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_merge(self):
- self.config.from_yaml(self.config_file_1)
- self.config.from_yaml(self.config_file_2)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': 11,
- 'value11': 11,
- },
- 'section2': {
- 'value2': 2,
- },
- 'section3': {
- 'value3': 3,
- },
- },
- )
- self.assertEqual(self.config.section1(), {'value1': 11, 'value11': 11})
- self.assertEqual(self.config.section1.value1(), 11)
- self.assertEqual(self.config.section1.value11(), 11)
- self.assertEqual(self.config.section2(), {'value2': 2})
- self.assertEqual(self.config.section2.value2(), 2)
- self.assertEqual(self.config.section3(), {'value3': 3})
- self.assertEqual(self.config.section3.value3(), 3)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_file_does_not_exist(self):
- self.config.from_yaml('./does_not_exist.yml')
- self.assertEqual(self.config(), {})
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(IOError):
- self.config.from_yaml('./does_not_exist.yml')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_file_does_not_exist(self):
- self.config.option.from_yaml('./does_not_exist.yml')
- self.assertIsNone(self.config.option())
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(IOError):
- self.config.option.from_yaml('./does_not_exist.yml')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_required_file_does_not_exist(self):
- with self.assertRaises(IOError):
- self.config.from_yaml('./does_not_exist.yml', required=True)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_required_option_file_does_not_exist(self):
- with self.assertRaises(IOError):
- self.config.option.from_yaml('./does_not_exist.yml', required=True)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_not_required_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_yaml('./does_not_exist.yml', required=False)
- self.assertEqual(self.config(), {})
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_not_required_option_file_does_not_exist_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_yaml('./does_not_exist.yml', required=False)
- with self.assertRaises(errors.Error):
- self.config.option()
-
- def test_no_yaml_installed(self):
- @contextlib.contextmanager
- def no_yaml_module():
- yaml = providers.yaml
- providers.yaml = None
-
- yield
-
- providers.yaml = yaml
-
- with no_yaml_module():
- with self.assertRaises(errors.Error) as error:
- self.config.from_yaml(self.config_file_1)
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to load yaml configuration - PyYAML is not installed. '
- 'Install PyYAML or install Dependency Injector with yaml extras: '
- '"pip install dependency-injector[yaml]"',
- )
-
- def test_option_no_yaml_installed(self):
- @contextlib.contextmanager
- def no_yaml_module():
- yaml = providers.yaml
- providers.yaml = None
-
- yield
-
- providers.yaml = yaml
-
- with no_yaml_module():
- with self.assertRaises(errors.Error) as error:
- self.config.option.from_yaml(self.config_file_1)
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to load yaml configuration - PyYAML is not installed. '
- 'Install PyYAML or install Dependency Injector with yaml extras: '
- '"pip install dependency-injector[yaml]"',
- )
-
-
-class ConfigFromYamlWithEnvInterpolationTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- os.environ['CONFIG_TEST_ENV'] = 'test-value'
- os.environ['CONFIG_TEST_PATH'] = 'test-path'
-
- _, self.config_file = tempfile.mkstemp()
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section1:\n'
- ' value1: ${CONFIG_TEST_ENV}\n'
- ' value2: ${CONFIG_TEST_PATH}/path\n'
- )
-
- def tearDown(self):
- del self.config
- os.environ.pop('CONFIG_TEST_ENV', None)
- os.environ.pop('CONFIG_TEST_PATH', None)
- os.unlink(self.config_file)
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_env_variable_interpolation(self):
- self.config.from_yaml(self.config_file)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- },
- )
- self.assertEqual(
- self.config.section1(),
- {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- )
- self.assertEqual(self.config.section1.value1(), 'test-value')
- self.assertEqual(self.config.section1.value2(), 'test-path/path')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_missing_envs_not_required(self):
- del os.environ['CONFIG_TEST_ENV']
- del os.environ['CONFIG_TEST_PATH']
-
- self.config.from_yaml(self.config_file)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': None,
- 'value2': '/path',
- },
- },
- )
- self.assertEqual(
- self.config.section1(),
- {
- 'value1': None,
- 'value2': '/path',
- },
- )
- self.assertIsNone(self.config.section1.value1())
- self.assertEqual(self.config.section1.value2(), '/path')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_missing_envs_required(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section:\n'
- ' undefined: ${UNDEFINED}\n'
- )
-
- with self.assertRaises(ValueError) as context:
- self.config.from_yaml(self.config_file, envs_required=True)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_missing_envs_strict_mode(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section:\n'
- ' undefined: ${UNDEFINED}\n'
- )
-
- self.config.set_strict(True)
- with self.assertRaises(ValueError) as context:
- self.config.from_yaml(self.config_file)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_missing_envs_not_required(self):
- del os.environ['CONFIG_TEST_ENV']
- del os.environ['CONFIG_TEST_PATH']
-
- self.config.option.from_yaml(self.config_file)
-
- self.assertEqual(
- self.config.option(),
- {
- 'section1': {
- 'value1': None,
- 'value2': '/path',
- },
- },
- )
- self.assertEqual(
- self.config.option.section1(),
- {
- 'value1': None,
- 'value2': '/path',
- },
- )
- self.assertIsNone(self.config.option.section1.value1())
- self.assertEqual(self.config.option.section1.value2(), '/path')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_missing_envs_required(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section:\n'
- ' undefined: ${UNDEFINED}\n'
- )
-
- with self.assertRaises(ValueError) as context:
- self.config.option.from_yaml(self.config_file, envs_required=True)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_missing_envs_strict_mode(self):
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section:\n'
- ' undefined: ${UNDEFINED}\n'
- )
-
- self.config.set_strict(True)
- with self.assertRaises(ValueError) as context:
- self.config.option.from_yaml(self.config_file)
-
- self.assertEqual(
- str(context.exception),
- 'Missing required environment variable "UNDEFINED"',
- )
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_default_values(self):
- os.environ['DEFINED'] = 'defined'
- self.addCleanup(os.environ.pop, 'DEFINED')
-
- with open(self.config_file, 'w') as config_file:
- config_file.write(
- 'section:\n'
- ' defined_with_default: ${DEFINED:default}\n'
- ' undefined_with_default: ${UNDEFINED:default}\n'
- ' complex: ${DEFINED}/path/${DEFINED:default}/${UNDEFINED}/${UNDEFINED:default}\n'
- )
-
- self.config.from_yaml(self.config_file)
-
- self.assertEqual(
- self.config.section(),
- {
- 'defined_with_default': 'defined',
- 'undefined_with_default': 'default',
- 'complex': 'defined/path/defined//default',
- },
- )
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_env_variable_interpolation(self):
- self.config.option.from_yaml(self.config_file)
-
- self.assertEqual(
- self.config.option(),
- {
- 'section1': {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- },
- )
- self.assertEqual(
- self.config.option.section1(),
- {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- )
- self.assertEqual(self.config.option.section1.value1(), 'test-value')
- self.assertEqual(self.config.option.section1.value2(), 'test-path/path')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_env_variable_interpolation_custom_loader(self):
- self.config.from_yaml(self.config_file, loader=yaml.UnsafeLoader)
-
- self.assertEqual(
- self.config.section1(),
- {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- )
- self.assertEqual(self.config.section1.value1(), 'test-value')
- self.assertEqual(self.config.section1.value2(), 'test-path/path')
-
- @unittest.skipIf(sys.version_info[:2] == (3, 4), 'PyYAML does not support Python 3.4')
- def test_option_env_variable_interpolation_custom_loader(self):
- self.config.option.from_yaml(self.config_file, loader=yaml.UnsafeLoader)
-
- self.assertEqual(
- self.config.option.section1(),
- {
- 'value1': 'test-value',
- 'value2': 'test-path/path',
- },
- )
- self.assertEqual(self.config.option.section1.value1(), 'test-value')
- self.assertEqual(self.config.option.section1.value2(), 'test-path/path')
-
-
-class ConfigFromPydanticTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- class Section11(pydantic.BaseModel):
- value1 = 1
-
- class Section12(pydantic.BaseModel):
- value2 = 2
-
- class Settings1(pydantic.BaseSettings):
- section1 = Section11()
- section2 = Section12()
-
- self.Settings1 = Settings1
-
- class Section21(pydantic.BaseModel):
- value1 = 11
- value11 = 11
-
- class Section3(pydantic.BaseModel):
- value3 = 3
-
- class Settings2(pydantic.BaseSettings):
- section1 = Section21()
- section3 = Section3()
-
- self.Settings2 = Settings2
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test(self):
- self.config.from_pydantic(self.Settings1())
-
- self.assertEqual(self.config(), {'section1': {'value1': 1}, 'section2': {'value2': 2}})
- self.assertEqual(self.config.section1(), {'value1': 1})
- self.assertEqual(self.config.section1.value1(), 1)
- self.assertEqual(self.config.section2(), {'value2': 2})
- self.assertEqual(self.config.section2.value2(), 2)
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_kwarg(self):
- self.config.from_pydantic(self.Settings1(), exclude={'section2'})
-
- self.assertEqual(self.config(), {'section1': {'value1': 1}})
- self.assertEqual(self.config.section1(), {'value1': 1})
- self.assertEqual(self.config.section1.value1(), 1)
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_merge(self):
- self.config.from_pydantic(self.Settings1())
- self.config.from_pydantic(self.Settings2())
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': 11,
- 'value11': 11,
- },
- 'section2': {
- 'value2': 2,
- },
- 'section3': {
- 'value3': 3,
- },
- },
- )
- self.assertEqual(self.config.section1(), {'value1': 11, 'value11': 11})
- self.assertEqual(self.config.section1.value1(), 11)
- self.assertEqual(self.config.section1.value11(), 11)
- self.assertEqual(self.config.section2(), {'value2': 2})
- self.assertEqual(self.config.section2.value2(), 2)
- self.assertEqual(self.config.section3(), {'value3': 3})
- self.assertEqual(self.config.section3.value3(), 3)
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_empty_settings(self):
- self.config.from_pydantic(pydantic.BaseSettings())
- self.assertEqual(self.config(), {})
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_empty_settings_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.from_pydantic(pydantic.BaseSettings())
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_option_empty_settings(self):
- self.config.option.from_pydantic(pydantic.BaseSettings())
- self.assertEqual(self.config.option(), {})
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_option_empty_settings_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.option.from_pydantic(pydantic.BaseSettings())
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_required_empty_settings(self):
- with self.assertRaises(ValueError):
- self.config.from_pydantic(pydantic.BaseSettings(), required=True)
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_required_option_empty_settings(self):
- with self.assertRaises(ValueError):
- self.config.option.from_pydantic(pydantic.BaseSettings(), required=True)
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_not_required_empty_settings_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_pydantic(pydantic.BaseSettings(), required=False)
- self.assertEqual(self.config(), {})
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_not_required_option_empty_settings_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_pydantic(pydantic.BaseSettings(), required=False)
- self.assertEqual(self.config.option(), {})
- self.assertEqual(self.config(), {'option': {}})
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_not_instance_of_settings(self):
- with self.assertRaises(errors.Error) as error:
- self.config.from_pydantic({})
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
- 'got {0} instead'.format({})
- )
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_option_not_instance_of_settings(self):
- with self.assertRaises(errors.Error) as error:
- self.config.option.from_pydantic({})
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to recognize settings instance, expect "pydantic.BaseSettings", '
- 'got {0} instead'.format({})
- )
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_subclass_instead_of_instance(self):
- with self.assertRaises(errors.Error) as error:
- self.config.from_pydantic(self.Settings1)
-
- self.assertEqual(
- error.exception.args[0],
- 'Got settings class, but expect instance: '
- 'instead "Settings1" use "Settings1()"'
- )
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_option_subclass_instead_of_instance(self):
- with self.assertRaises(errors.Error) as error:
- self.config.option.from_pydantic(self.Settings1)
-
- self.assertEqual(
- error.exception.args[0],
- 'Got settings class, but expect instance: '
- 'instead "Settings1" use "Settings1()"'
- )
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_no_pydantic_installed(self):
- @contextlib.contextmanager
- def no_pydantic_module():
- pydantic = providers.pydantic
- providers.pydantic = None
-
- yield
-
- providers.pydantic = pydantic
-
- with no_pydantic_module():
- with self.assertRaises(errors.Error) as error:
- self.config.from_pydantic(self.Settings1())
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to load pydantic configuration - pydantic is not installed. '
- 'Install pydantic or install Dependency Injector with pydantic extras: '
- '"pip install dependency-injector[pydantic]"',
- )
-
- @unittest.skipIf(sys.version_info[:2] < (3, 6), 'Pydantic supports Python 3.6+')
- def test_option_no_pydantic_installed(self):
- @contextlib.contextmanager
- def no_pydantic_module():
- pydantic = providers.pydantic
- providers.pydantic = None
-
- yield
-
- providers.pydantic = pydantic
-
- with no_pydantic_module():
- with self.assertRaises(errors.Error) as error:
- self.config.option.from_pydantic(self.Settings1())
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to load pydantic configuration - pydantic is not installed. '
- 'Install pydantic or install Dependency Injector with pydantic extras: '
- '"pip install dependency-injector[pydantic]"',
- )
-
-
-class ConfigFromDict(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- self.config_options_1 = {
- 'section1': {
- 'value1': '1',
- },
- 'section2': {
- 'value2': '2',
- },
- }
- self.config_options_2 = {
- 'section1': {
- 'value1': '11',
- 'value11': '11',
- },
- 'section3': {
- 'value3': '3',
- },
- }
-
- def test(self):
- self.config.from_dict(self.config_options_1)
-
- self.assertEqual(self.config(), {'section1': {'value1': '1'}, 'section2': {'value2': '2'}})
- self.assertEqual(self.config.section1(), {'value1': '1'})
- self.assertEqual(self.config.section1.value1(), '1')
- self.assertEqual(self.config.section2(), {'value2': '2'})
- self.assertEqual(self.config.section2.value2(), '2')
-
- def test_merge(self):
- self.config.from_dict(self.config_options_1)
- self.config.from_dict(self.config_options_2)
-
- self.assertEqual(
- self.config(),
- {
- 'section1': {
- 'value1': '11',
- 'value11': '11',
- },
- 'section2': {
- 'value2': '2',
- },
- 'section3': {
- 'value3': '3',
- },
- },
- )
- self.assertEqual(self.config.section1(), {'value1': '11', 'value11': '11'})
- self.assertEqual(self.config.section1.value1(), '11')
- self.assertEqual(self.config.section1.value11(), '11')
- self.assertEqual(self.config.section2(), {'value2': '2'})
- self.assertEqual(self.config.section2.value2(), '2')
- self.assertEqual(self.config.section3(), {'value3': '3'})
- self.assertEqual(self.config.section3.value3(), '3')
-
- def test_empty_dict(self):
- self.config.from_dict({})
- self.assertEqual(self.config(), {})
-
- def test_option_empty_dict(self):
- self.config.option.from_dict({})
- self.assertEqual(self.config.option(), {})
-
- def test_empty_dict_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.from_dict({})
-
- def test_option_empty_dict_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.option.from_dict({})
-
- def test_required_empty_dict(self):
- with self.assertRaises(ValueError):
- self.config.from_dict({}, required=True)
-
- def test_required_option_empty_dict(self):
- with self.assertRaises(ValueError):
- self.config.option.from_dict({}, required=True)
-
- def test_not_required_empty_dict_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_dict({}, required=False)
- self.assertEqual(self.config(), {})
-
- def test_not_required_option_empty_dict_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_dict({}, required=False)
- self.assertEqual(self.config.option(), {})
- self.assertEqual(self.config(), {'option': {}})
-
-
-class ConfigFromEnvTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
- os.environ['CONFIG_TEST_ENV'] = 'test-value'
-
- def tearDown(self):
- del self.config
- del os.environ['CONFIG_TEST_ENV']
-
- def test(self):
- self.config.from_env('CONFIG_TEST_ENV')
- self.assertEqual(self.config(), 'test-value')
-
- def test_with_children(self):
- self.config.section1.value1.from_env('CONFIG_TEST_ENV')
-
- self.assertEqual(self.config(), {'section1': {'value1': 'test-value'}})
- self.assertEqual(self.config.section1(), {'value1': 'test-value'})
- self.assertEqual(self.config.section1.value1(), 'test-value')
-
- def test_default(self):
- self.config.from_env('UNDEFINED_ENV', 'default-value')
- self.assertEqual(self.config(), 'default-value')
-
- def test_default_none(self):
- self.config.from_env('UNDEFINED_ENV')
- self.assertIsNone(self.config())
-
- def test_option_default_none(self):
- self.config.option.from_env('UNDEFINED_ENV')
- self.assertIsNone(self.config.option())
-
- def test_undefined_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.from_env('UNDEFINED_ENV')
-
- def test_option_undefined_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- with self.assertRaises(ValueError):
- self.config.option.from_env('UNDEFINED_ENV')
-
- def test_undefined_in_strict_mode_with_default(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_env('UNDEFINED_ENV', 'default-value')
- self.assertEqual(self.config(), 'default-value')
-
- def test_option_undefined_in_strict_mode_with_default(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_env('UNDEFINED_ENV', 'default-value')
- self.assertEqual(self.config.option(), 'default-value')
-
- def test_required_undefined(self):
- with self.assertRaises(ValueError):
- self.config.from_env('UNDEFINED_ENV', required=True)
-
- def test_required_undefined_with_default(self):
- self.config.from_env('UNDEFINED_ENV', default='default-value', required=True)
- self.assertEqual(self.config(), 'default-value')
-
- def test_option_required_undefined(self):
- with self.assertRaises(ValueError):
- self.config.option.from_env('UNDEFINED_ENV', required=True)
-
- def test_option_required_undefined_with_default(self):
- self.config.option.from_env('UNDEFINED_ENV', default='default-value', required=True)
- self.assertEqual(self.config.option(), 'default-value')
-
- def test_not_required_undefined_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_env('UNDEFINED_ENV', required=False)
- self.assertIsNone(self.config())
-
- def test_option_not_required_undefined_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_env('UNDEFINED_ENV', required=False)
- self.assertIsNone(self.config.option())
-
- def test_not_required_undefined_with_default_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.from_env('UNDEFINED_ENV', default='default-value', required=False)
- self.assertEqual(self.config(), 'default-value')
-
- def test_option_not_required_undefined_with_default_in_strict_mode(self):
- self.config = providers.Configuration(strict=True)
- self.config.option.from_env('UNDEFINED_ENV', default='default-value', required=False)
- self.assertEqual(self.config.option(), 'default-value')
-
-
-class ConfigFromValueTests(unittest.TestCase):
-
- def setUp(self):
- self.config = providers.Configuration(name='config')
-
- def test_from_value(self):
- test_value = 123321
- self.config.from_value(test_value)
- self.assertEqual(self.config(), test_value)
-
- def test_option_from_value(self):
- test_value_1 = 123
- test_value_2 = 321
-
- self.config.option1.from_value(test_value_1)
- self.config.option2.from_value(test_value_2)
-
- self.assertEqual(self.config(), {'option1': test_value_1, 'option2': test_value_2})
- self.assertEqual(self.config.option1(), test_value_1)
- self.assertEqual(self.config.option2(), test_value_2)
diff --git a/tests/unit/providers/test_container_py2_py3.py b/tests/unit/providers/test_container_py2_py3.py
index b31caeb4..d594f369 100644
--- a/tests/unit/providers/test_container_py2_py3.py
+++ b/tests/unit/providers/test_container_py2_py3.py
@@ -1,26 +1,25 @@
-"""Dependency injector container provider unit tests."""
+"""Container provider tests."""
import copy
-import unittest
-
from dependency_injector import containers, providers, errors
+from pytest import raises
-TEST_VALUE_1 = 'core_section_value1'
+TEST_VALUE_1 = "core_section_value1"
TEST_CONFIG_1 = {
- 'core': {
- 'section': {
- 'value': TEST_VALUE_1,
+ "core": {
+ "section": {
+ "value": TEST_VALUE_1,
},
},
}
-TEST_VALUE_2 = 'core_section_value2'
+TEST_VALUE_2 = "core_section_value2"
TEST_CONFIG_2 = {
- 'core': {
- 'section': {
- 'value': TEST_VALUE_2,
+ "core": {
+ "section": {
+ "value": TEST_VALUE_2,
},
},
}
@@ -30,237 +29,238 @@ def _copied(value):
return copy.deepcopy(value)
-class TestCore(containers.DeclarativeContainer):
- config = providers.Configuration('core')
+class Core(containers.DeclarativeContainer):
+ config = providers.Configuration("core")
value_getter = providers.Callable(lambda _: _, config.section.value)
-class TestApplication(containers.DeclarativeContainer):
- config = providers.Configuration('config')
- core = providers.Container(TestCore, config=config.core)
+class Application(containers.DeclarativeContainer):
+ config = providers.Configuration("config")
+ core = providers.Container(Core, config=config.core)
dict_factory = providers.Factory(dict, value=core.value_getter)
-class ContainerTests(unittest.TestCase):
+def test():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ assert application.dict_factory() == {"value": TEST_VALUE_1}
- def test(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
- def test_double_override(self):
- application = TestApplication()
- application.config.override(_copied(TEST_CONFIG_1))
- application.config.override(_copied(TEST_CONFIG_2))
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_2})
+def test_double_override():
+ application = Application()
+ application.config.override(_copied(TEST_CONFIG_1))
+ application.config.override(_copied(TEST_CONFIG_2))
+ assert application.dict_factory() == {"value": TEST_VALUE_2}
- def test_override(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/354
- class D(containers.DeclarativeContainer):
- foo = providers.Object('foo')
- class A(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
- bar = providers.Callable(lambda f: f + '++', d.foo.provided)
+def test_override():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/354
+ class D(containers.DeclarativeContainer):
+ foo = providers.Object("foo")
- class B(containers.DeclarativeContainer):
- d = providers.Container(D)
+ class A(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
+ bar = providers.Callable(lambda f: f + "++", d.foo.provided)
- a = providers.Container(A, d=d)
+ class B(containers.DeclarativeContainer):
+ d = providers.Container(D)
- b = B(d=D())
- result = b.a().bar()
- self.assertEqual(result, 'foo++')
+ a = providers.Container(A, d=d)
- def test_override_not_root_provider(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/379
- class NestedContainer(containers.DeclarativeContainer):
- settings = providers.Configuration()
+ b = B(d=D())
+ result = b.a().bar()
+ assert result == "foo++"
- print_settings = providers.Callable(
- lambda s: s,
- settings,
- )
- class TestContainer(containers.DeclarativeContainer):
- settings = providers.Configuration()
+def test_override_not_root_provider():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/379
+ class NestedContainer(containers.DeclarativeContainer):
+ settings = providers.Configuration()
- root_container = providers.Container(
+ print_settings = providers.Callable(
+ lambda s: s,
+ settings,
+ )
+
+ class TestContainer(containers.DeclarativeContainer):
+ settings = providers.Configuration()
+
+ root_container = providers.Container(
+ NestedContainer,
+ settings=settings,
+ )
+
+ not_root_container = providers.Selector(
+ settings.container,
+ using_factory=providers.Factory(
+ NestedContainer,
+ settings=settings,
+ ),
+ using_container=providers.Container(
NestedContainer,
settings=settings,
)
-
- not_root_container = providers.Selector(
- settings.container,
- using_factory=providers.Factory(
- NestedContainer,
- settings=settings,
- ),
- using_container=providers.Container(
- NestedContainer,
- settings=settings,
- )
- )
-
- container_using_factory = TestContainer(settings=dict(
- container='using_factory',
- foo='bar'
- ))
- self.assertEqual(
- container_using_factory.root_container().print_settings(),
- {'container': 'using_factory', 'foo': 'bar'},
- )
- self.assertEqual(
- container_using_factory.not_root_container().print_settings(),
- {'container': 'using_factory', 'foo': 'bar'},
)
+ container_using_factory = TestContainer(settings=dict(
+ container="using_factory",
+ foo="bar"
+ ))
+ assert container_using_factory.root_container().print_settings() == {"container": "using_factory", "foo": "bar"}
+ assert container_using_factory.not_root_container().print_settings() == {"container": "using_factory", "foo": "bar"}
- container_using_container = TestContainer(settings=dict(
- container='using_container',
- foo='bar'
- ))
- self.assertEqual(
- container_using_container.root_container().print_settings(),
- {'container': 'using_container', 'foo': 'bar'},
- )
- self.assertEqual(
- container_using_container.not_root_container().print_settings(),
- {'container': 'using_container', 'foo': 'bar'},
- )
+ container_using_container = TestContainer(settings=dict(
+ container="using_container",
+ foo="bar"
+ ))
+ assert container_using_container.root_container().print_settings() == {"container": "using_container", "foo": "bar"}
+ assert container_using_container.not_root_container().print_settings() == {"container": "using_container", "foo": "bar"}
- def test_override_by_not_a_container(self):
- provider = providers.Container(TestCore)
- with self.assertRaises(errors.Error):
- provider.override(providers.Object('foo'))
+def test_override_by_not_a_container():
+ provider = providers.Container(Core)
- def test_lazy_overriding(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/354
+ with raises(errors.Error):
+ provider.override(providers.Object("foo"))
- class D(containers.DeclarativeContainer):
- foo = providers.Object("foo")
- class A(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
- bar = providers.Callable(lambda f: f + "++", d.foo.provided)
+def test_lazy_overriding():
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/354
+ class D(containers.DeclarativeContainer):
+ foo = providers.Object("foo")
- class B(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
+ class A(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
+ bar = providers.Callable(lambda f: f + "++", d.foo.provided)
- a = providers.Container(A, d=d)
+ class B(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
- b = B(d=D())
- result = b.a().bar()
- self.assertEqual(result, 'foo++')
+ a = providers.Container(A, d=d)
- def test_lazy_overriding_deep(self):
- # Extended version of test_lazy_overriding()
+ b = B(d=D())
+ result = b.a().bar()
+ assert result == "foo++"
- class D(containers.DeclarativeContainer):
- foo = providers.Object("foo")
- class C(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
- bar = providers.Callable(lambda f: f + "++", d.foo.provided)
+def test_lazy_overriding_deep():
+ # Extended version of test_lazy_overriding()
+ class D(containers.DeclarativeContainer):
+ foo = providers.Object("foo")
- class A(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
- c = providers.Container(C, d=d)
+ class C(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
+ bar = providers.Callable(lambda f: f + "++", d.foo.provided)
- class B(containers.DeclarativeContainer):
- d = providers.DependenciesContainer()
+ class A(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
+ c = providers.Container(C, d=d)
- a = providers.Container(A, d=d)
+ class B(containers.DeclarativeContainer):
+ d = providers.DependenciesContainer()
- b = B(d=D())
- result = b.a().c().bar()
- self.assertEqual(result, 'foo++')
+ a = providers.Container(A, d=d)
- def test_reset_last_overriding(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))
+ b = B(d=D())
+ result = b.a().c().bar()
+ assert result == "foo++"
- application.core.reset_last_overriding()
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
+def test_reset_last_overriding():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ application.core.override(Core(config=_copied(TEST_CONFIG_2["core"])))
- def test_reset_last_overriding_only_overridden(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))
+ application.core.reset_last_overriding()
- application.core.reset_last_overriding()
+ assert application.dict_factory() == {"value": TEST_VALUE_1}
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
- def test_override_context_manager(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- overriding_core = TestCore(config=_copied(TEST_CONFIG_2['core']))
+def test_reset_last_overriding_only_overridden():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2["core"])))
- with application.core.override(overriding_core) as context_core:
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_2})
- self.assertIs(context_core(), overriding_core)
+ application.core.reset_last_overriding()
- self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})
+ assert application.dict_factory() == {"value": TEST_VALUE_1}
- def test_reset_override(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))
- application.core.reset_override()
+def test_override_context_manager():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ overriding_core = Core(config=_copied(TEST_CONFIG_2["core"]))
- self.assertEqual(application.dict_factory(), {'value': None})
+ with application.core.override(overriding_core) as context_core:
+ assert application.dict_factory() == {"value": TEST_VALUE_2}
+ assert context_core() is overriding_core
- def test_reset_override_only_overridden(self):
- application = TestApplication(config=_copied(TEST_CONFIG_1))
- application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))
+ assert application.dict_factory() == {"value": TEST_VALUE_1}
- application.core.reset_override()
- self.assertEqual(application.dict_factory(), {'value': None})
+def test_reset_override():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ application.core.override(Core(config=_copied(TEST_CONFIG_2["core"])))
- def test_assign_parent(self):
- parent = providers.DependenciesContainer()
- provider = providers.Container(TestCore)
+ application.core.reset_override()
- provider.assign_parent(parent)
+ assert application.dict_factory() == {"value": None}
- self.assertIs(provider.parent, parent)
- def test_parent_name(self):
- container = containers.DynamicContainer()
- provider = providers.Container(TestCore)
- container.name = provider
- self.assertEqual(provider.parent_name, 'name')
+def test_reset_override_only_overridden():
+ application = Application(config=_copied(TEST_CONFIG_1))
+ application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2["core"])))
- def test_parent_name_with_deep_parenting(self):
- provider = providers.Container(TestCore)
- container = providers.DependenciesContainer(name=provider)
- _ = providers.DependenciesContainer(container=container)
- self.assertEqual(provider.parent_name, 'container.name')
+ application.core.reset_override()
- def test_parent_name_is_none(self):
- provider = providers.Container(TestCore)
- self.assertIsNone(provider.parent_name)
+ assert application.dict_factory() == {"value": None}
- def test_parent_deepcopy(self):
- container = containers.DynamicContainer()
- provider = providers.Container(TestCore)
- container.name = provider
- copied = providers.deepcopy(container)
+def test_assign_parent():
+ parent = providers.DependenciesContainer()
+ provider = providers.Container(Core)
- self.assertIs(container.name.parent, container)
- self.assertIs(copied.name.parent, copied)
+ provider.assign_parent(parent)
- self.assertIsNot(container, copied)
- self.assertIsNot(container.name, copied.name)
- self.assertIsNot(container.name.parent, copied.name.parent)
+ assert provider.parent is parent
- def test_resolve_provider_name(self):
- container = providers.Container(TestCore)
- self.assertEqual(container.resolve_provider_name(container.value_getter), 'value_getter')
- def test_resolve_provider_name_no_provider(self):
- container = providers.Container(TestCore)
- with self.assertRaises(errors.Error):
- container.resolve_provider_name(providers.Provider())
+def test_parent_name():
+ container = containers.DynamicContainer()
+ provider = providers.Container(Core)
+ container.name = provider
+ assert provider.parent_name == "name"
+
+
+def test_parent_name_with_deep_parenting():
+ provider = providers.Container(Core)
+ container = providers.DependenciesContainer(name=provider)
+ _ = providers.DependenciesContainer(container=container)
+ assert provider.parent_name == "container.name"
+
+
+def test_parent_name_is_none():
+ provider = providers.Container(Core)
+ assert provider.parent_name is None
+
+
+def test_parent_deepcopy():
+ container = containers.DynamicContainer()
+ provider = providers.Container(Core)
+ container.name = provider
+
+ copied = providers.deepcopy(container)
+
+ assert container.name.parent is container
+ assert copied.name.parent is copied
+
+ assert container is not copied
+ assert container.name is not copied.name
+ assert container.name.parent is not copied.name.parent
+
+
+def test_resolve_provider_name():
+ container = providers.Container(Core)
+ assert container.resolve_provider_name(container.value_getter) == "value_getter"
+
+
+def test_resolve_provider_name_no_provider():
+ container = providers.Container(Core)
+ with raises(errors.Error):
+ container.resolve_provider_name(providers.Provider())
diff --git a/tests/unit/providers/test_coroutines_py35.py b/tests/unit/providers/test_coroutines_py35.py
deleted file mode 100644
index 54f4cb00..00000000
--- a/tests/unit/providers/test_coroutines_py35.py
+++ /dev/null
@@ -1,310 +0,0 @@
-"""Dependency injector coroutine providers unit tests."""
-
-import asyncio
-import unittest
-import warnings
-
-from dependency_injector import (
- providers,
- errors,
-)
-
-# Runtime import to get asyncutils module
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-
-from asyncutils import AsyncTestCase
-
-
-async def _example(arg1, arg2, arg3, arg4):
- future = asyncio.Future()
- future.set_result(None)
- await future
- return arg1, arg2, arg3, arg4
-
-
-def run(main):
- loop = asyncio.get_event_loop()
- return loop.run_until_complete(main)
-
-
-class CoroutineTests(AsyncTestCase):
-
- def test_init_with_coroutine(self):
- self.assertTrue(providers.Coroutine(_example))
-
- def test_init_with_not_coroutine(self):
- self.assertRaises(errors.Error, providers.Coroutine, lambda: None)
-
- def test_init_optional_provides(self):
- provider = providers.Coroutine()
- provider.set_provides(_example)
- self.assertIs(provider.provides, _example)
- self.assertEqual(run(provider(1, 2, 3, 4)), (1, 2, 3, 4))
-
- def test_set_provides_returns_self(self):
- provider = providers.Coroutine()
- self.assertIs(provider.set_provides(_example), provider)
-
- def test_call_with_positional_args(self):
- provider = providers.Coroutine(_example, 1, 2, 3, 4)
- self.assertTupleEqual(self._run(provider()), (1, 2, 3, 4))
-
- def test_call_with_keyword_args(self):
- provider = providers.Coroutine(_example,
- arg1=1, arg2=2, arg3=3, arg4=4)
- self.assertTupleEqual(self._run(provider()), (1, 2, 3, 4))
-
- def test_call_with_positional_and_keyword_args(self):
- provider = providers.Coroutine(_example,
- 1, 2,
- arg3=3, arg4=4)
- self.assertTupleEqual(run(provider()), (1, 2, 3, 4))
-
- def test_call_with_context_args(self):
- provider = providers.Coroutine(_example, 1, 2)
- self.assertTupleEqual(self._run(provider(3, 4)), (1, 2, 3, 4))
-
- def test_call_with_context_kwargs(self):
- provider = providers.Coroutine(_example, arg1=1)
- self.assertTupleEqual(
- self._run(provider(arg2=2, arg3=3, arg4=4)),
- (1, 2, 3, 4),
- )
-
- def test_call_with_context_args_and_kwargs(self):
- provider = providers.Coroutine(_example, 1)
- self.assertTupleEqual(
- self._run(provider(2, arg3=3, arg4=4)),
- (1, 2, 3, 4),
- )
-
- def test_fluent_interface(self):
- provider = providers.Coroutine(_example) \
- .add_args(1, 2) \
- .add_kwargs(arg3=3, arg4=4)
-
- self.assertTupleEqual(self._run(provider()), (1, 2, 3, 4))
-
- def test_set_args(self):
- provider = providers.Coroutine(_example) \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
-
- def test_set_kwargs(self):
- provider = providers.Coroutine(_example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .set_kwargs(init_arg3=4, init_arg4=5)
- self.assertEqual(provider.kwargs, dict(init_arg3=4, init_arg4=5))
-
- def test_clear_args(self):
- provider = providers.Coroutine(_example) \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
-
- def test_clear_kwargs(self):
- provider = providers.Coroutine(_example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, dict())
-
- def test_call_overridden(self):
- provider = providers.Coroutine(_example)
-
- provider.override(providers.Object((4, 3, 2, 1)))
- provider.override(providers.Object((1, 2, 3, 4)))
-
- self.assertTupleEqual(provider(), (1, 2, 3, 4))
-
- def test_deepcopy(self):
- provider = providers.Coroutine(_example)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.provides, provider_copy.provides)
- self.assertIsInstance(provider, providers.Coroutine)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Coroutine(_example)
- provider_copy_memo = providers.Coroutine(_example)
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_args(self):
- provider = providers.Coroutine(_example)
- dependent_provider1 = providers.Callable(list)
- dependent_provider2 = providers.Callable(dict)
-
- provider.add_args(dependent_provider1, dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
-
- self.assertNotEqual(provider.args, provider_copy.args)
-
- self.assertIs(dependent_provider1.provides,
- dependent_provider_copy1.provides)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.provides,
- dependent_provider_copy2.provides)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_kwargs(self):
- provider = providers.Coroutine(_example)
- dependent_provider1 = providers.Callable(list)
- dependent_provider2 = providers.Callable(dict)
-
- provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['a1']
- dependent_provider_copy2 = provider_copy.kwargs['a2']
-
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
-
- self.assertIs(dependent_provider1.provides,
- dependent_provider_copy1.provides)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.provides,
- dependent_provider_copy2.provides)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_overridden(self):
- provider = providers.Coroutine(_example)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.provides, provider_copy.provides)
- self.assertIsInstance(provider, providers.Callable)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_repr(self):
- provider = providers.Coroutine(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class DelegatedCoroutineTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.DelegatedCoroutine(_example),
- providers.Coroutine)
-
- def test_is_provider(self):
- self.assertTrue(
- providers.is_provider(providers.DelegatedCoroutine(_example)))
-
- def test_is_delegated_provider(self):
- provider = providers.DelegatedCoroutine(_example)
- self.assertTrue(providers.is_delegated(provider))
-
- def test_repr(self):
- provider = providers.DelegatedCoroutine(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class AbstractCoroutineTests(AsyncTestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.AbstractCoroutine(_example),
- providers.Coroutine)
-
- def test_call_overridden_by_coroutine(self):
- with warnings.catch_warnings():
- warnings.simplefilter('ignore')
-
- @asyncio.coroutine
- def _abstract_example():
- raise RuntimeError('Should not be raised')
-
- provider = providers.AbstractCoroutine(_abstract_example)
- provider.override(providers.Coroutine(_example))
-
- self.assertTrue(self._run(provider(1, 2, 3, 4)), (1, 2, 3, 4))
-
- def test_call_overridden_by_delegated_coroutine(self):
- with warnings.catch_warnings():
- warnings.simplefilter('ignore')
-
- @asyncio.coroutine
- def _abstract_example():
- raise RuntimeError('Should not be raised')
-
- provider = providers.AbstractCoroutine(_abstract_example)
- provider.override(providers.DelegatedCoroutine(_example))
-
- self.assertTrue(self._run(provider(1, 2, 3, 4)), (1, 2, 3, 4))
-
- def test_call_not_overridden(self):
- provider = providers.AbstractCoroutine(_example)
-
- with self.assertRaises(errors.Error):
- provider(1, 2, 3, 4)
-
- def test_override_by_not_coroutine(self):
- provider = providers.AbstractCoroutine(_example)
-
- with self.assertRaises(errors.Error):
- provider.override(providers.Factory(object))
-
- def test_provide_not_implemented(self):
- provider = providers.AbstractCoroutine(_example)
-
- with self.assertRaises(NotImplementedError):
- provider._provide((1, 2, 3, 4), dict())
-
- def test_repr(self):
- provider = providers.AbstractCoroutine(_example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(_example),
- hex(id(provider))))
-
-
-class CoroutineDelegateTests(unittest.TestCase):
-
- def setUp(self):
- self.delegated = providers.Coroutine(_example)
- self.delegate = providers.CoroutineDelegate(self.delegated)
-
- def test_is_delegate(self):
- self.assertIsInstance(self.delegate, providers.Delegate)
-
- def test_init_with_not_callable(self):
- self.assertRaises(errors.Error,
- providers.CoroutineDelegate,
- providers.Object(object()))
diff --git a/tests/unit/providers/test_delegate_py2_py3.py b/tests/unit/providers/test_delegate_py2_py3.py
new file mode 100644
index 00000000..24be727b
--- /dev/null
+++ b/tests/unit/providers/test_delegate_py2_py3.py
@@ -0,0 +1,49 @@
+"""Delegate provider tests."""
+
+from dependency_injector import providers, errors
+from pytest import fixture, raises
+
+
+@fixture
+def provider():
+ return providers.Provider()
+
+
+@fixture
+def delegate(provider):
+ return providers.Delegate(provider)
+
+
+def test_is_provider(delegate):
+ assert providers.is_provider(delegate) is True
+
+
+def test_init_optional_provides(provider):
+ delegate = providers.Delegate()
+ delegate.set_provides(provider)
+ assert delegate.provides is provider
+ assert delegate() is provider
+
+
+def test_set_provides_returns_self(delegate, provider):
+ assert delegate.set_provides(provider) is delegate
+
+
+def test_init_with_not_provider():
+ with raises(errors.Error):
+ providers.Delegate(object())
+
+
+def test_call(delegate, provider):
+ delegated1 = delegate()
+ delegated2 = delegate()
+
+ assert delegated1 is provider
+ assert delegated2 is provider
+
+
+def test_repr(delegate, provider):
+ assert repr(delegate) == (
+ "".format(repr(provider), hex(id(delegate)))
+ )
diff --git a/tests/unit/providers/test_dependencies_container_py2_py3.py b/tests/unit/providers/test_dependencies_container_py2_py3.py
new file mode 100644
index 00000000..600aa2f7
--- /dev/null
+++ b/tests/unit/providers/test_dependencies_container_py2_py3.py
@@ -0,0 +1,125 @@
+"""DependencyContainer provider tests."""
+
+from dependency_injector import containers, providers, errors
+from pytest import fixture, raises
+
+
+class Container(containers.DeclarativeContainer):
+
+ dependency = providers.Provider()
+
+
+@fixture
+def provider():
+ return providers.DependenciesContainer()
+
+
+@fixture
+def container():
+ return Container()
+
+
+def test_getattr(provider):
+ has_dependency = hasattr(provider, "dependency")
+ dependency = provider.dependency
+
+ assert isinstance(dependency, providers.Dependency)
+ assert dependency is provider.dependency
+ assert has_dependency is True
+ assert dependency.last_overriding is None
+
+
+def test_getattr_with_container(provider, container):
+ provider.override(container)
+
+ dependency = provider.dependency
+
+ assert dependency.overridden == (container.dependency,)
+ assert dependency.last_overriding is container.dependency
+
+
+def test_providers(provider):
+ dependency1 = provider.dependency1
+ dependency2 = provider.dependency2
+ assert provider.providers == {"dependency1": dependency1, "dependency2": dependency2}
+
+
+def test_override(provider, container):
+ dependency = provider.dependency
+ provider.override(container)
+
+ assert dependency.overridden == (container.dependency,)
+ assert dependency.last_overriding is container.dependency
+
+
+def test_reset_last_overriding(provider, container):
+ dependency = provider.dependency
+ provider.override(container)
+ provider.reset_last_overriding()
+
+ assert dependency.last_overriding is None
+ assert dependency.last_overriding is None
+
+
+def test_reset_override(provider, container):
+ dependency = provider.dependency
+ provider.override(container)
+ provider.reset_override()
+
+ assert dependency.overridden == tuple()
+ assert not dependency.overridden
+
+
+def test_assign_parent(provider):
+ parent = providers.DependenciesContainer()
+ provider.assign_parent(parent)
+ assert provider.parent is parent
+
+
+def test_parent_name(provider):
+ container = containers.DynamicContainer()
+ container.name = provider
+ assert provider.parent_name == "name"
+
+
+def test_parent_name_with_deep_parenting(provider):
+ container = providers.DependenciesContainer(name=provider)
+ _ = providers.DependenciesContainer(container=container)
+ assert provider.parent_name == "container.name"
+
+
+def test_parent_name_is_none(provider):
+ assert provider.parent_name is None
+
+
+def test_parent_deepcopy(provider, container):
+ container.name = provider
+ copied = providers.deepcopy(container)
+
+ assert container.name.parent is container
+ assert copied.name.parent is copied
+
+ assert container is not copied
+ assert container.name is not copied.name
+ assert container.name.parent is not copied.name.parent
+
+
+def test_parent_set_on__getattr__(provider):
+ assert isinstance(provider.name, providers.Dependency)
+ assert provider.name.parent is provider
+
+
+def test_parent_set_on__init__():
+ provider = providers.Dependency()
+ container = providers.DependenciesContainer(name=provider)
+ assert container.name is provider
+ assert container.name.parent is container
+
+
+def test_resolve_provider_name(provider):
+ assert provider.resolve_provider_name(provider.name) == "name"
+
+
+def test_resolve_provider_name_no_provider(provider):
+ with raises(errors.Error):
+ provider.resolve_provider_name(providers.Provider())
diff --git a/tests/unit/providers/test_dependency_py2_py3.py b/tests/unit/providers/test_dependency_py2_py3.py
new file mode 100644
index 00000000..c4c2cea1
--- /dev/null
+++ b/tests/unit/providers/test_dependency_py2_py3.py
@@ -0,0 +1,348 @@
+"""Dependency provider tests."""
+
+from dependency_injector import containers, providers, errors
+from pytest import fixture, raises
+
+
+@fixture
+def provider():
+ return providers.Dependency(instance_of=list)
+
+
+def test_init_optional():
+ list_provider = providers.List(1, 2, 3)
+ provider = providers.Dependency()
+ provider.set_instance_of(list)
+ provider.set_default(list_provider)
+
+ assert provider.instance_of is list
+ assert provider.default is list_provider
+ assert provider() == [1, 2, 3]
+
+
+def test_set_instance_of_returns_self(provider):
+ assert provider.set_instance_of(list) is provider
+
+
+def test_set_default_returns_self(provider):
+ assert provider.set_default(providers.Provider()) is provider
+
+
+def test_init_with_not_class():
+ with raises(TypeError):
+ providers.Dependency(object())
+
+
+def test_with_abc():
+ try:
+ import collections.abc as collections_abc
+ except ImportError:
+ import collections as collections_abc
+
+ provider = providers.Dependency(collections_abc.Mapping)
+ provider.provided_by(providers.Factory(dict))
+
+ assert isinstance(provider(), collections_abc.Mapping)
+ assert isinstance(provider(), dict)
+
+
+def test_is_provider(provider):
+ assert providers.is_provider(provider) is True
+
+
+def test_provided_instance_provider(provider):
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_default():
+ provider = providers.Dependency(instance_of=dict, default={"foo": "bar"})
+ assert provider() == {"foo": "bar"}
+
+
+def test_default_attribute():
+ provider = providers.Dependency(instance_of=dict, default={"foo": "bar"})
+ assert provider.default() == {"foo": "bar"}
+
+
+def test_default_provider():
+ provider = providers.Dependency(instance_of=dict, default=providers.Factory(dict, foo="bar"))
+ assert provider.default() == {"foo": "bar"}
+
+
+def test_default_attribute_provider():
+ default = providers.Factory(dict, foo="bar")
+ provider = providers.Dependency(instance_of=dict, default=default)
+
+ assert provider.default() == {"foo": "bar"}
+ assert provider.default is default
+
+
+def test_is_defined(provider):
+ assert provider.is_defined is False
+
+
+def test_is_defined_when_overridden(provider):
+ provider.override("value")
+ assert provider.is_defined is True
+
+
+def test_is_defined_with_default():
+ provider = providers.Dependency(default="value")
+ assert provider.is_defined is True
+
+
+def test_call_overridden(provider):
+ provider.provided_by(providers.Factory(list))
+ assert isinstance(provider(), list)
+
+
+def test_call_overridden_but_not_instance_of(provider):
+ provider.provided_by(providers.Factory(dict))
+ with raises(errors.Error):
+ provider()
+
+
+def test_call_undefined(provider):
+ with raises(errors.Error, match="Dependency is not defined"):
+ provider()
+
+
+def test_call_undefined_error_message_with_container_instance_parent():
+ class UserService:
+ def __init__(self, database):
+ self.database = database
+
+ class Container(containers.DeclarativeContainer):
+ database = providers.Dependency()
+
+ user_service = providers.Factory(
+ UserService,
+ database=database, # <---- missing dependency
+ )
+
+ container = Container()
+
+ with raises(errors.Error, match="Dependency \"Container.database\" is not defined"):
+ container.user_service()
+
+
+def test_call_undefined_error_message_with_container_provider_parent_deep():
+ class Database:
+ pass
+
+ class UserService:
+ def __init__(self, db):
+ self.db = db
+
+ class Gateways(containers.DeclarativeContainer):
+ database_client = providers.Singleton(Database)
+
+ class Services(containers.DeclarativeContainer):
+ gateways = providers.DependenciesContainer()
+
+ user = providers.Factory(
+ UserService,
+ db=gateways.database_client,
+ )
+
+ class Container(containers.DeclarativeContainer):
+ gateways = providers.Container(Gateways)
+
+ services = providers.Container(
+ Services,
+ # gateways=gateways, # <---- missing dependency
+ )
+
+ container = Container()
+
+ with raises(errors.Error, match="Dependency \"Container.services.gateways.database_client\" is not defined"):
+ container.services().user()
+
+
+def test_call_undefined_error_message_with_dependenciescontainer_provider_parent():
+ class UserService:
+ def __init__(self, db):
+ self.db = db
+
+ class Services(containers.DeclarativeContainer):
+ gateways = providers.DependenciesContainer()
+
+ user = providers.Factory(
+ UserService,
+ db=gateways.database_client, # <---- missing dependency
+ )
+
+ services = Services()
+
+ with raises(errors.Error, match="Dependency \"Services.gateways.database_client\" is not defined"):
+ services.user()
+
+
+def test_assign_parent(provider):
+ parent = providers.DependenciesContainer()
+ provider.assign_parent(parent)
+ assert provider.parent is parent
+
+
+def test_parent_name(provider):
+ container = containers.DynamicContainer()
+ container.name = provider
+ assert provider.parent_name == "name"
+
+
+def test_parent_name_with_deep_parenting(provider):
+ container = providers.DependenciesContainer(name=provider)
+ _ = providers.DependenciesContainer(container=container)
+ assert provider.parent_name == "container.name"
+
+
+def test_parent_name_is_none():
+ provider = providers.Dependency()
+ assert provider.parent_name is None
+
+
+def test_parent_deepcopy(provider):
+ container = containers.DynamicContainer()
+ container.name = provider
+
+ copied = providers.deepcopy(container)
+
+ assert container.name.parent is container
+ assert copied.name.parent is copied
+
+ assert container is not copied
+ assert container.name is not copied.name
+ assert container.name.parent is not copied.name.parent
+
+
+def test_forward_attr_to_default():
+ default = providers.Configuration()
+ provider = providers.Dependency(default=default)
+ provider.from_dict({"foo": "bar"})
+ assert default() == {"foo": "bar"}
+
+
+def test_forward_attr_to_overriding(provider):
+ overriding = providers.Configuration()
+ provider.override(overriding)
+ provider.from_dict({"foo": "bar"})
+ assert overriding() == {"foo": "bar"}
+
+
+def test_forward_attr_to_none(provider):
+ with raises(AttributeError):
+ provider.from_dict
+
+
+def test_deepcopy(provider):
+ provider_copy = providers.deepcopy(provider)
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Dependency)
+
+
+def test_deepcopy_from_memo(provider):
+ provider_copy_memo = providers.Provider()
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_overridden(provider):
+ overriding_provider = providers.Provider()
+
+ provider.override(overriding_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ overriding_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Dependency)
+
+ assert overriding_provider is not overriding_provider_copy
+ assert isinstance(overriding_provider_copy, providers.Provider)
+
+
+def test_deep_copy_default_object():
+ default = {"foo": "bar"}
+ provider = providers.Dependency(dict, default=default)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider_copy() is default
+ assert provider_copy.default() is default
+
+
+def test_deep_copy_default_provider():
+ bar = object()
+ default = providers.Factory(dict, foo=providers.Object(bar))
+ provider = providers.Dependency(dict, default=default)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider_copy() == {"foo": bar}
+ assert provider_copy.default() == {"foo": bar}
+ assert provider_copy()["foo"] is bar
+
+
+def test_with_container_default_object():
+ default = {"foo": "bar"}
+
+ class Container(containers.DeclarativeContainer):
+ provider = providers.Dependency(dict, default=default)
+
+ container = Container()
+
+ assert container.provider() is default
+ assert container.provider.default() is default
+
+
+def test_with_container_default_provider():
+ bar = object()
+
+ class Container(containers.DeclarativeContainer):
+ provider = providers.Dependency(dict, default=providers.Factory(dict, foo=providers.Object(bar)))
+
+ container = Container()
+
+ assert container.provider() == {"foo": bar}
+ assert container.provider.default() == {"foo": bar}
+ assert container.provider()["foo"] is bar
+
+
+def test_with_container_default_provider_with_overriding():
+ bar = object()
+ baz = object()
+
+ class Container(containers.DeclarativeContainer):
+ provider = providers.Dependency(dict, default=providers.Factory(dict, foo=providers.Object(bar)))
+
+ container = Container(provider=providers.Factory(dict, foo=providers.Object(baz)))
+
+ assert container.provider() == {"foo": baz}
+ assert container.provider.default() == {"foo": bar}
+ assert container.provider()["foo"] is baz
+
+
+def test_repr(provider):
+ assert repr(provider) == (
+ "".format(repr(list), hex(id(provider)))
+ )
+
+
+def test_repr_in_container():
+ class Container(containers.DeclarativeContainer):
+ dependency = providers.Dependency(instance_of=int)
+
+ container = Container()
+
+ assert repr(container.dependency) == (
+ "".format(
+ repr(int),
+ hex(id(container.dependency)),
+ )
+ )
+
+
+def test_external_dependency():
+ assert isinstance(providers.ExternalDependency(), providers.Dependency)
diff --git a/tests/unit/providers/test_dict_py2_py3.py b/tests/unit/providers/test_dict_py2_py3.py
index a5a900cb..306d8a23 100644
--- a/tests/unit/providers/test_dict_py2_py3.py
+++ b/tests/unit/providers/test_dict_py2_py3.py
@@ -1,231 +1,245 @@
-"""Dependency injector dict provider unit tests."""
+"""Dict provider tests."""
import sys
-import unittest
-
from dependency_injector import providers
-class DictTests(unittest.TestCase):
+def test_is_provider():
+ assert providers.is_provider(providers.Dict()) is True
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Dict()))
- def test_provided_instance_provider(self):
- provider = providers.Dict()
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
+def test_provided_instance_provider():
+ provider = providers.Dict()
+ assert isinstance(provider.provided, providers.ProvidedInstance)
- def test_init_with_non_string_keys(self):
- a1 = object()
- a2 = object()
- provider = providers.Dict({a1: 'i1', a2: 'i2'})
- dict1 = provider()
- dict2 = provider()
+def test_init_with_non_string_keys():
+ a1 = object()
+ a2 = object()
+ provider = providers.Dict({a1: "i1", a2: "i2"})
- self.assertEqual(dict1, {a1: 'i1', a2: 'i2'})
- self.assertEqual(dict2, {a1: 'i1', a2: 'i2'})
+ dict1 = provider()
+ dict2 = provider()
- self.assertIsNot(dict1, dict2)
+ assert dict1 == {a1: "i1", a2: "i2"}
+ assert dict2 == {a1: "i1", a2: "i2"}
- def test_init_with_string_and_non_string_keys(self):
- a1 = object()
- provider = providers.Dict({a1: 'i1'}, a2='i2')
+ assert dict1 is not dict2
- dict1 = provider()
- dict2 = provider()
- self.assertEqual(dict1, {a1: 'i1', 'a2': 'i2'})
- self.assertEqual(dict2, {a1: 'i1', 'a2': 'i2'})
+def test_init_with_string_and_non_string_keys():
+ a1 = object()
+ provider = providers.Dict({a1: "i1"}, a2="i2")
- self.assertIsNot(dict1, dict2)
+ dict1 = provider()
+ dict2 = provider()
- def test_call_with_init_keyword_args(self):
- provider = providers.Dict(a1='i1', a2='i2')
+ assert dict1 == {a1: "i1", "a2": "i2"}
+ assert dict2 == {a1: "i1", "a2": "i2"}
- dict1 = provider()
- dict2 = provider()
+ assert dict1 is not dict2
- self.assertEqual(dict1, {'a1': 'i1', 'a2': 'i2'})
- self.assertEqual(dict2, {'a1': 'i1', 'a2': 'i2'})
- self.assertIsNot(dict1, dict2)
+def test_call_with_init_keyword_args():
+ provider = providers.Dict(a1="i1", a2="i2")
- def test_call_with_context_keyword_args(self):
- provider = providers.Dict(a1='i1', a2='i2')
- self.assertEqual(
- provider(a3='i3', a4='i4'),
- {'a1': 'i1', 'a2': 'i2', 'a3': 'i3', 'a4': 'i4'},
- )
+ dict1 = provider()
+ dict2 = provider()
- def test_call_with_provider(self):
- provider = providers.Dict(
- a1=providers.Factory(str, 'i1'),
- a2=providers.Factory(str, 'i2'),
- )
- self.assertEqual(provider(), {'a1': 'i1', 'a2': 'i2'})
+ assert dict1 == {"a1": "i1", "a2": "i2"}
+ assert dict2 == {"a1": "i1", "a2": "i2"}
- def test_fluent_interface(self):
- provider = providers.Dict() \
- .add_kwargs(a1='i1', a2='i2')
- self.assertEqual(provider(), {'a1': 'i1', 'a2': 'i2'})
+ assert dict1 is not dict2
- def test_add_kwargs(self):
- provider = providers.Dict() \
- .add_kwargs(a1='i1') \
- .add_kwargs(a2='i2')
- self.assertEqual(provider.kwargs, {'a1': 'i1', 'a2': 'i2'})
- def test_add_kwargs_non_string_keys(self):
- a1 = object()
- a2 = object()
- provider = providers.Dict() \
- .add_kwargs({a1: 'i1'}) \
- .add_kwargs({a2: 'i2'})
- self.assertEqual(provider.kwargs, {a1: 'i1', a2: 'i2'})
+def test_call_with_context_keyword_args():
+ provider = providers.Dict(a1="i1", a2="i2")
+ assert provider(a3="i3", a4="i4") == {"a1": "i1", "a2": "i2", "a3": "i3", "a4": "i4"}
- def test_add_kwargs_string_and_non_string_keys(self):
- a2 = object()
- provider = providers.Dict() \
- .add_kwargs(a1='i1') \
- .add_kwargs({a2: 'i2'})
- self.assertEqual(provider.kwargs, {'a1': 'i1', a2: 'i2'})
- def test_set_kwargs(self):
- provider = providers.Dict() \
- .add_kwargs(a1='i1', a2='i2') \
- .set_kwargs(a3='i3', a4='i4')
- self.assertEqual(provider.kwargs, {'a3': 'i3', 'a4': 'i4'})
+def test_call_with_provider():
+ provider = providers.Dict(
+ a1=providers.Factory(str, "i1"),
+ a2=providers.Factory(str, "i2"),
+ )
+ assert provider() == {"a1": "i1", "a2": "i2"}
- def test_set_kwargs_non_string_keys(self):
- a3 = object()
- a4 = object()
- provider = providers.Dict() \
- .add_kwargs(a1='i1', a2='i2') \
- .set_kwargs({a3: 'i3', a4: 'i4'})
- self.assertEqual(provider.kwargs, {a3: 'i3', a4: 'i4'})
- def test_set_kwargs_string_and_non_string_keys(self):
- a3 = object()
- provider = providers.Dict() \
- .add_kwargs(a1='i1', a2='i2') \
- .set_kwargs({a3: 'i3'}, a4='i4')
- self.assertEqual(provider.kwargs, {a3: 'i3', 'a4': 'i4'})
+def test_fluent_interface():
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1", a2="i2")
+ assert provider() == {"a1": "i1", "a2": "i2"}
- def test_clear_kwargs(self):
- provider = providers.Dict() \
- .add_kwargs(a1='i1', a2='i2') \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, {})
- def test_call_overridden(self):
- provider = providers.Dict(a1='i1', a2='i2')
- overriding_provider1 = providers.Dict(a2='i2', a3='i3')
- overriding_provider2 = providers.Dict(a3='i3', a4='i4')
+def test_add_kwargs():
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1") \
+ .add_kwargs(a2="i2")
+ assert provider.kwargs == {"a1": "i1", "a2": "i2"}
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
- instance1 = provider()
- instance2 = provider()
+def test_add_kwargs_non_string_keys():
+ a1 = object()
+ a2 = object()
+ provider = providers.Dict() \
+ .add_kwargs({a1: "i1"}) \
+ .add_kwargs({a2: "i2"})
+ assert provider.kwargs == {a1: "i1", a2: "i2"}
- self.assertIsNot(instance1, instance2)
- self.assertEqual(instance1, {'a3': 'i3', 'a4': 'i4'})
- self.assertEqual(instance2, {'a3': 'i3', 'a4': 'i4'})
- def test_deepcopy(self):
- provider = providers.Dict(a1='i1', a2='i2')
+def test_add_kwargs_string_and_non_string_keys():
+ a2 = object()
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1") \
+ .add_kwargs({a2: "i2"})
+ assert provider.kwargs == {"a1": "i1", a2: "i2"}
- provider_copy = providers.deepcopy(provider)
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.kwargs, provider_copy.kwargs)
- self.assertIsInstance(provider, providers.Dict)
+def test_set_kwargs():
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1", a2="i2") \
+ .set_kwargs(a3="i3", a4="i4")
+ assert provider.kwargs == {"a3": "i3", "a4": "i4"}
- def test_deepcopy_from_memo(self):
- provider = providers.Dict(a1='i1', a2='i2')
- provider_copy_memo = providers.Dict(a1='i1', a2='i2')
- provider_copy = providers.deepcopy(
- provider,
- memo={id(provider): provider_copy_memo},
- )
+def test_set_kwargs_non_string_keys():
+ a3 = object()
+ a4 = object()
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1", a2="i2") \
+ .set_kwargs({a3: "i3", a4: "i4"})
+ assert provider.kwargs == {a3: "i3", a4: "i4"}
- self.assertIs(provider_copy, provider_copy_memo)
- def test_deepcopy_kwargs(self):
- provider = providers.Dict()
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
+def test_set_kwargs_string_and_non_string_keys():
+ a3 = object()
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1", a2="i2") \
+ .set_kwargs({a3: "i3"}, a4="i4")
+ assert provider.kwargs == {a3: "i3", "a4": "i4"}
- provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['d1']
- dependent_provider_copy2 = provider_copy.kwargs['d2']
+def test_clear_kwargs():
+ provider = providers.Dict() \
+ .add_kwargs(a1="i1", a2="i2") \
+ .clear_kwargs()
+ assert provider.kwargs == {}
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
+def test_call_overridden():
+ provider = providers.Dict(a1="i1", a2="i2")
+ overriding_provider1 = providers.Dict(a2="i2", a3="i3")
+ overriding_provider2 = providers.Dict(a3="i3", a4="i4")
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
- def test_deepcopy_kwargs_non_string_keys(self):
- a1 = object()
- a2 = object()
+ instance1 = provider()
+ instance2 = provider()
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
+ assert instance1 is not instance2
+ assert instance1 == {"a3": "i3", "a4": "i4"}
+ assert instance2 == {"a3": "i3", "a4": "i4"}
- provider = providers.Dict({a1: dependent_provider1, a2: dependent_provider2})
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs[a1]
- dependent_provider_copy2 = provider_copy.kwargs[a2]
+def test_deepcopy():
+ provider = providers.Dict(a1="i1", a2="i2")
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
+ provider_copy = providers.deepcopy(provider)
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
+ assert provider is not provider_copy
+ assert provider.kwargs == provider_copy.kwargs
+ assert isinstance(provider, providers.Dict)
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
- def test_deepcopy_overridden(self):
- provider = providers.Dict()
- object_provider = providers.Object(object())
+def test_deepcopy_from_memo():
+ provider = providers.Dict(a1="i1", a2="i2")
+ provider_copy_memo = providers.Dict(a1="i1", a2="i2")
- provider.override(object_provider)
+ provider_copy = providers.deepcopy(
+ provider,
+ memo={id(provider): provider_copy_memo},
+ )
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
+ assert provider_copy is provider_copy_memo
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.kwargs, provider_copy.kwargs)
- self.assertIsInstance(provider, providers.Dict)
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
+def test_deepcopy_kwargs():
+ provider = providers.Dict()
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Dict()
- provider.add_kwargs(stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr)
+ provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
- provider_copy = providers.deepcopy(provider)
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs["d1"]
+ dependent_provider_copy2 = provider_copy.kwargs["d2"]
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Dict)
- self.assertIs(provider.kwargs['stdin'], sys.stdin)
- self.assertIs(provider.kwargs['stdout'], sys.stdout)
- self.assertIs(provider.kwargs['stderr'], sys.stderr)
+ assert provider.kwargs != provider_copy.kwargs
- def test_repr(self):
- provider = providers.Dict(a1=1, a2=2)
- self.assertEqual(repr(provider),
- ''.format(
- repr(provider.kwargs),
- hex(id(provider))))
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_kwargs_non_string_keys():
+ a1 = object()
+ a2 = object()
+
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
+
+ provider = providers.Dict({a1: dependent_provider1, a2: dependent_provider2})
+
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.kwargs[a1]
+ dependent_provider_copy2 = provider_copy.kwargs[a2]
+
+ assert provider.kwargs != provider_copy.kwargs
+
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
+
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
+
+
+def test_deepcopy_overridden():
+ provider = providers.Dict()
+ object_provider = providers.Object(object())
+
+ provider.override(object_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert provider.kwargs == provider_copy.kwargs
+ assert isinstance(provider, providers.Dict)
+
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams():
+ provider = providers.Dict()
+ provider.add_kwargs(stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, providers.Dict)
+ assert provider.kwargs["stdin"] is sys.stdin
+ assert provider.kwargs["stdout"] is sys.stdout
+ assert provider.kwargs["stderr"] is sys.stderr
+
+
+def test_repr():
+ provider = providers.Dict(a1=1, a2=2)
+ assert repr(provider) == (
+ "".format(repr(provider.kwargs), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/test_factories_py2_py3.py b/tests/unit/providers/test_factories_py2_py3.py
deleted file mode 100644
index 29526889..00000000
--- a/tests/unit/providers/test_factories_py2_py3.py
+++ /dev/null
@@ -1,690 +0,0 @@
-"""Dependency injector factory providers unit tests."""
-
-import sys
-
-import unittest
-
-from dependency_injector import (
- containers,
- providers,
- errors,
-)
-
-
-class Example(object):
-
- def __init__(self, init_arg1=None, init_arg2=None, init_arg3=None,
- init_arg4=None):
- self.init_arg1 = init_arg1
- self.init_arg2 = init_arg2
- self.init_arg3 = init_arg3
- self.init_arg4 = init_arg4
-
- self.attribute1 = None
- self.attribute2 = None
-
-
-class FactoryTests(unittest.TestCase):
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Factory(Example)))
-
- def test_init_with_callable(self):
- self.assertTrue(providers.Factory(credits))
-
- def test_init_with_not_callable(self):
- self.assertRaises(errors.Error, providers.Factory, 123)
-
- def test_init_optional_provides(self):
- provider = providers.Factory()
- provider.set_provides(object)
- self.assertIs(provider.provides, object)
- self.assertIsInstance(provider(), object)
-
- def test_set_provides_returns_self(self):
- provider = providers.Factory()
- self.assertIs(provider.set_provides(object), provider)
-
- def test_init_with_valid_provided_type(self):
- class ExampleProvider(providers.Factory):
- provided_type = Example
-
- example_provider = ExampleProvider(Example, 1, 2)
-
- self.assertIsInstance(example_provider(), Example)
-
- def test_init_with_valid_provided_subtype(self):
- class ExampleProvider(providers.Factory):
- provided_type = Example
-
- class NewExampe(Example):
- pass
-
- example_provider = ExampleProvider(NewExampe, 1, 2)
-
- self.assertIsInstance(example_provider(), NewExampe)
-
- def test_init_with_invalid_provided_type(self):
- class ExampleProvider(providers.Factory):
- provided_type = Example
-
- with self.assertRaises(errors.Error):
- ExampleProvider(list)
-
- def test_provided_instance_provider(self):
- provider = providers.Factory(Example)
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_call(self):
- provider = providers.Factory(Example)
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_positional_args(self):
- provider = providers.Factory(Example, 'i1', 'i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_keyword_args(self):
- provider = providers.Factory(Example, init_arg1='i1', init_arg2='i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_init_positional_and_keyword_args(self):
- provider = providers.Factory(Example, 'i1', init_arg2='i2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.init_arg1, 'i1')
- self.assertEqual(instance1.init_arg2, 'i2')
-
- self.assertEqual(instance2.init_arg1, 'i1')
- self.assertEqual(instance2.init_arg2, 'i2')
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_attributes(self):
- provider = providers.Factory(Example)
- provider.add_attributes(attribute1='a1', attribute2='a2')
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertEqual(instance1.attribute1, 'a1')
- self.assertEqual(instance1.attribute2, 'a2')
-
- self.assertEqual(instance2.attribute1, 'a1')
- self.assertEqual(instance2.attribute2, 'a2')
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_call_with_context_args(self):
- provider = providers.Factory(Example, 11, 22)
-
- instance = provider(33, 44)
-
- self.assertEqual(instance.init_arg1, 11)
- self.assertEqual(instance.init_arg2, 22)
- self.assertEqual(instance.init_arg3, 33)
- self.assertEqual(instance.init_arg4, 44)
-
- def test_call_with_context_kwargs(self):
- provider = providers.Factory(Example, init_arg1=1)
-
- instance1 = provider(init_arg2=22)
- self.assertEqual(instance1.init_arg1, 1)
- self.assertEqual(instance1.init_arg2, 22)
-
- instance2 = provider(init_arg1=11, init_arg2=22)
- self.assertEqual(instance2.init_arg1, 11)
- self.assertEqual(instance2.init_arg2, 22)
-
- def test_call_with_context_args_and_kwargs(self):
- provider = providers.Factory(Example, 11)
-
- instance = provider(22, init_arg3=33, init_arg4=44)
-
- self.assertEqual(instance.init_arg1, 11)
- self.assertEqual(instance.init_arg2, 22)
- self.assertEqual(instance.init_arg3, 33)
- self.assertEqual(instance.init_arg4, 44)
-
- def test_call_with_deep_context_kwargs(self):
- """`Factory` providers deep init injections example."""
- class Regularizer:
- def __init__(self, alpha):
- self.alpha = alpha
-
- class Loss:
- def __init__(self, regularizer):
- self.regularizer = regularizer
-
- class ClassificationTask:
- def __init__(self, loss):
- self.loss = loss
-
- class Algorithm:
- def __init__(self, task):
- self.task = task
-
- algorithm_factory = providers.Factory(
- Algorithm,
- task=providers.Factory(
- ClassificationTask,
- loss=providers.Factory(
- Loss,
- regularizer=providers.Factory(
- Regularizer,
- ),
- ),
- ),
- )
-
- algorithm_1 = algorithm_factory(task__loss__regularizer__alpha=0.5)
- algorithm_2 = algorithm_factory(task__loss__regularizer__alpha=0.7)
- algorithm_3 = algorithm_factory(task__loss__regularizer=Regularizer(alpha=0.8))
-
- self.assertEqual(algorithm_1.task.loss.regularizer.alpha, 0.5)
- self.assertEqual(algorithm_2.task.loss.regularizer.alpha, 0.7)
- self.assertEqual(algorithm_3.task.loss.regularizer.alpha, 0.8)
-
- def test_fluent_interface(self):
- provider = providers.Factory(Example) \
- .add_args(1, 2) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .add_attributes(attribute1=5, attribute2=6)
-
- instance = provider()
-
- self.assertEqual(instance.init_arg1, 1)
- self.assertEqual(instance.init_arg2, 2)
- self.assertEqual(instance.init_arg3, 3)
- self.assertEqual(instance.init_arg4, 4)
- self.assertEqual(instance.attribute1, 5)
- self.assertEqual(instance.attribute2, 6)
-
- def test_set_args(self):
- provider = providers.Factory(Example) \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
-
- def test_set_kwargs(self):
- provider = providers.Factory(Example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .set_kwargs(init_arg3=4, init_arg4=5)
- self.assertEqual(provider.kwargs, dict(init_arg3=4, init_arg4=5))
-
- def test_set_attributes(self):
- provider = providers.Factory(Example) \
- .add_attributes(attribute1=5, attribute2=6) \
- .set_attributes(attribute1=6, attribute2=7)
- self.assertEqual(provider.attributes, dict(attribute1=6, attribute2=7))
-
- def test_clear_args(self):
- provider = providers.Factory(Example) \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
-
- def test_clear_kwargs(self):
- provider = providers.Factory(Example) \
- .add_kwargs(init_arg3=3, init_arg4=4) \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, dict())
-
- def test_clear_attributes(self):
- provider = providers.Factory(Example) \
- .add_attributes(attribute1=5, attribute2=6) \
- .clear_attributes()
- self.assertEqual(provider.attributes, dict())
-
- def test_call_overridden(self):
- provider = providers.Factory(Example)
- overriding_provider1 = providers.Factory(dict)
- overriding_provider2 = providers.Factory(list)
-
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, list)
- self.assertIsInstance(instance2, list)
-
- def test_deepcopy(self):
- provider = providers.Factory(Example)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.cls, provider_copy.cls)
- self.assertIsInstance(provider, providers.Factory)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Factory(Example)
- provider_copy_memo = providers.Factory(Example)
-
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_args(self):
- provider = providers.Factory(Example)
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
-
- provider.add_args(dependent_provider1, dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
-
- self.assertNotEqual(provider.args, provider_copy.args)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_kwargs(self):
- provider = providers.Factory(Example)
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
-
- provider.add_kwargs(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['a1']
- dependent_provider_copy2 = provider_copy.kwargs['a2']
-
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_attributes(self):
- provider = providers.Factory(Example)
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
-
- provider.add_attributes(a1=dependent_provider1, a2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.attributes['a1']
- dependent_provider_copy2 = provider_copy.attributes['a2']
-
- self.assertNotEqual(provider.attributes, provider_copy.attributes)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_overridden(self):
- provider = providers.Factory(Example)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIs(provider.cls, provider_copy.cls)
- self.assertIsInstance(provider, providers.Factory)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Factory(Example)
- provider.add_args(sys.stdin)
- provider.add_kwargs(a2=sys.stdout)
- provider.add_attributes(a3=sys.stderr)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Factory)
- self.assertIs(provider.args[0], sys.stdin)
- self.assertIs(provider.kwargs['a2'], sys.stdout)
- self.assertIs(provider.attributes['a3'], sys.stderr)
-
- def test_repr(self):
- provider = providers.Factory(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class DelegatedFactoryTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.DelegatedFactory(object),
- providers.Factory)
-
- def test_is_provider(self):
- self.assertTrue(
- providers.is_provider(providers.DelegatedFactory(object)))
-
- def test_is_delegated_provider(self):
- self.assertTrue(
- providers.is_delegated(providers.DelegatedFactory(object)))
-
- def test_repr(self):
- provider = providers.DelegatedFactory(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class AbstractFactoryTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.AbstractFactory(Example),
- providers.Factory)
-
- def test_call_overridden_by_factory(self):
- provider = providers.AbstractFactory(object)
- provider.override(providers.Factory(Example))
-
- self.assertIsInstance(provider(), Example)
-
- def test_call_overridden_by_delegated_factory(self):
- provider = providers.AbstractFactory(object)
- provider.override(providers.DelegatedFactory(Example))
-
- self.assertIsInstance(provider(), Example)
-
- def test_call_not_overridden(self):
- provider = providers.AbstractFactory(object)
-
- with self.assertRaises(errors.Error):
- provider()
-
- def test_override_by_not_factory(self):
- provider = providers.AbstractFactory(object)
-
- with self.assertRaises(errors.Error):
- provider.override(providers.Callable(object))
-
- def test_provide_not_implemented(self):
- provider = providers.AbstractFactory(Example)
-
- with self.assertRaises(NotImplementedError):
- provider._provide(tuple(), dict())
-
- def test_repr(self):
- provider = providers.AbstractFactory(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class FactoryDelegateTests(unittest.TestCase):
-
- def setUp(self):
- self.delegated = providers.Factory(object)
- self.delegate = providers.FactoryDelegate(self.delegated)
-
- def test_is_delegate(self):
- self.assertIsInstance(self.delegate, providers.Delegate)
-
- def test_init_with_not_factory(self):
- self.assertRaises(errors.Error,
- providers.FactoryDelegate,
- providers.Object(object()))
-
-
-class FactoryAggregateTests(unittest.TestCase):
-
- class ExampleA(Example):
- pass
-
- class ExampleB(Example):
- pass
-
- def setUp(self):
- self.example_a_factory = providers.Factory(self.ExampleA)
- self.example_b_factory = providers.Factory(self.ExampleB)
- self.factory_aggregate = providers.FactoryAggregate(
- example_a=self.example_a_factory,
- example_b=self.example_b_factory,
- )
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.factory_aggregate))
-
- def test_is_delegated_provider(self):
- self.assertTrue(providers.is_delegated(self.factory_aggregate))
-
- def test_init_with_non_string_keys(self):
- factory = providers.FactoryAggregate({
- self.ExampleA: self.example_a_factory,
- self.ExampleB: self.example_b_factory,
- })
-
- object_a = factory(self.ExampleA, 1, 2, init_arg3=3, init_arg4=4)
- object_b = factory(self.ExampleB, 11, 22, init_arg3=33, init_arg4=44)
-
- self.assertIsInstance(object_a, self.ExampleA)
- self.assertEqual(object_a.init_arg1, 1)
- self.assertEqual(object_a.init_arg2, 2)
- self.assertEqual(object_a.init_arg3, 3)
- self.assertEqual(object_a.init_arg4, 4)
-
- self.assertIsInstance(object_b, self.ExampleB)
- self.assertEqual(object_b.init_arg1, 11)
- self.assertEqual(object_b.init_arg2, 22)
- self.assertEqual(object_b.init_arg3, 33)
- self.assertEqual(object_b.init_arg4, 44)
-
- self.assertEqual(
- factory.factories,
- {
- self.ExampleA: self.example_a_factory,
- self.ExampleB: self.example_b_factory,
- },
- )
-
- def test_init_with_not_a_factory(self):
- with self.assertRaises(errors.Error):
- providers.FactoryAggregate(
- example_a=providers.Factory(self.ExampleA),
- example_b=object())
-
- def test_init_optional_factories(self):
- provider = providers.FactoryAggregate()
- provider.set_factories(
- example_a=self.example_a_factory,
- example_b=self.example_b_factory,
- )
- self.assertEqual(
- provider.factories,
- {
- 'example_a': self.example_a_factory,
- 'example_b': self.example_b_factory,
- },
- )
- self.assertIsInstance(provider('example_a'), self.ExampleA)
- self.assertIsInstance(provider('example_b'), self.ExampleB)
-
- def test_set_factories_with_non_string_keys(self):
- factory = providers.FactoryAggregate()
- factory.set_factories({
- self.ExampleA: self.example_a_factory,
- self.ExampleB: self.example_b_factory,
- })
-
- object_a = factory(self.ExampleA, 1, 2, init_arg3=3, init_arg4=4)
- object_b = factory(self.ExampleB, 11, 22, init_arg3=33, init_arg4=44)
-
- self.assertIsInstance(object_a, self.ExampleA)
- self.assertEqual(object_a.init_arg1, 1)
- self.assertEqual(object_a.init_arg2, 2)
- self.assertEqual(object_a.init_arg3, 3)
- self.assertEqual(object_a.init_arg4, 4)
-
- self.assertIsInstance(object_b, self.ExampleB)
- self.assertEqual(object_b.init_arg1, 11)
- self.assertEqual(object_b.init_arg2, 22)
- self.assertEqual(object_b.init_arg3, 33)
- self.assertEqual(object_b.init_arg4, 44)
-
- self.assertEqual(
- factory.factories,
- {
- self.ExampleA: self.example_a_factory,
- self.ExampleB: self.example_b_factory,
- },
- )
-
- def test_set_factories_returns_self(self):
- provider = providers.FactoryAggregate()
- self.assertIs(provider.set_factories(example_a=self.example_a_factory), provider)
-
- def test_call(self):
- object_a = self.factory_aggregate('example_a',
- 1, 2, init_arg3=3, init_arg4=4)
- object_b = self.factory_aggregate('example_b',
- 11, 22, init_arg3=33, init_arg4=44)
-
- self.assertIsInstance(object_a, self.ExampleA)
- self.assertEqual(object_a.init_arg1, 1)
- self.assertEqual(object_a.init_arg2, 2)
- self.assertEqual(object_a.init_arg3, 3)
- self.assertEqual(object_a.init_arg4, 4)
-
- self.assertIsInstance(object_b, self.ExampleB)
- self.assertEqual(object_b.init_arg1, 11)
- self.assertEqual(object_b.init_arg2, 22)
- self.assertEqual(object_b.init_arg3, 33)
- self.assertEqual(object_b.init_arg4, 44)
-
- def test_call_factory_name_as_kwarg(self):
- object_a = self.factory_aggregate(
- factory_name='example_a',
- init_arg1=1,
- init_arg2=2,
- init_arg3=3,
- init_arg4=4,
- )
- self.assertIsInstance(object_a, self.ExampleA)
- self.assertEqual(object_a.init_arg1, 1)
- self.assertEqual(object_a.init_arg2, 2)
- self.assertEqual(object_a.init_arg3, 3)
- self.assertEqual(object_a.init_arg4, 4)
-
- def test_call_no_factory_name(self):
- with self.assertRaises(TypeError):
- self.factory_aggregate()
-
- def test_call_no_such_provider(self):
- with self.assertRaises(errors.NoSuchProviderError):
- self.factory_aggregate('unknown')
-
- def test_overridden(self):
- with self.assertRaises(errors.Error):
- self.factory_aggregate.override(providers.Object(object()))
-
- def test_getattr(self):
- self.assertIs(self.factory_aggregate.example_a, self.example_a_factory)
- self.assertIs(self.factory_aggregate.example_b, self.example_b_factory)
-
- def test_getattr_no_such_provider(self):
- with self.assertRaises(errors.NoSuchProviderError):
- self.factory_aggregate.unknown
-
- def test_factories(self):
- self.assertDictEqual(self.factory_aggregate.factories,
- dict(example_a=self.example_a_factory,
- example_b=self.example_b_factory))
-
- def test_deepcopy(self):
- provider_copy = providers.deepcopy(self.factory_aggregate)
-
- self.assertIsNot(self.factory_aggregate, provider_copy)
- self.assertIsInstance(provider_copy, type(self.factory_aggregate))
-
- self.assertIsNot(self.factory_aggregate.example_a, provider_copy.example_a)
- self.assertIsInstance(self.factory_aggregate.example_a, type(provider_copy.example_a))
- self.assertIs(self.factory_aggregate.example_a.cls, provider_copy.example_a.cls)
-
- self.assertIsNot(self.factory_aggregate.example_b, provider_copy.example_b)
- self.assertIsInstance(self.factory_aggregate.example_b, type(provider_copy.example_b))
- self.assertIs(self.factory_aggregate.example_b.cls, provider_copy.example_b.cls)
-
- def test_deepcopy_with_non_string_keys(self):
- factory_aggregate = providers.FactoryAggregate({
- self.ExampleA: self.example_a_factory,
- self.ExampleB: self.example_b_factory,
- })
- provider_copy = providers.deepcopy(factory_aggregate)
-
- self.assertIsNot(factory_aggregate, provider_copy)
- self.assertIsInstance(provider_copy, type(factory_aggregate))
-
- self.assertIsNot(factory_aggregate.factories[self.ExampleA], provider_copy.factories[self.ExampleA])
- self.assertIsInstance(factory_aggregate.factories[self.ExampleA], type(provider_copy.factories[self.ExampleA]))
- self.assertIs(factory_aggregate.factories[self.ExampleA].cls, provider_copy.factories[self.ExampleA].cls)
-
- self.assertIsNot(factory_aggregate.factories[self.ExampleB], provider_copy.factories[self.ExampleB])
- self.assertIsInstance(factory_aggregate.factories[self.ExampleB], type(provider_copy.factories[self.ExampleB]))
- self.assertIs(factory_aggregate.factories[self.ExampleB].cls, provider_copy.factories[self.ExampleB].cls)
-
- def test_repr(self):
- self.assertEqual(repr(self.factory_aggregate),
- ''.format(
- repr(self.factory_aggregate.factories),
- hex(id(self.factory_aggregate))))
diff --git a/tests/unit/providers/test_injections_py2_py3.py b/tests/unit/providers/test_injections_py2_py3.py
deleted file mode 100644
index a1e2608b..00000000
--- a/tests/unit/providers/test_injections_py2_py3.py
+++ /dev/null
@@ -1,106 +0,0 @@
-"""Dependency injector injections unit tests."""
-
-import unittest
-
-from dependency_injector import providers
-
-
-class PositionalInjectionTests(unittest.TestCase):
-
- def test_isinstance(self):
- injection = providers.PositionalInjection(1)
- self.assertIsInstance(injection, providers.Injection)
-
- def test_get_value_with_not_provider(self):
- injection = providers.PositionalInjection(123)
- self.assertEqual(injection.get_value(), 123)
-
- def test_get_value_with_factory(self):
- injection = providers.PositionalInjection(providers.Factory(object))
-
- obj1 = injection.get_value()
- obj2 = injection.get_value()
-
- self.assertIs(type(obj1), object)
- self.assertIs(type(obj2), object)
- self.assertIsNot(obj1, obj2)
-
- def test_get_original_value(self):
- provider = providers.Factory(object)
- injection = providers.PositionalInjection(provider)
- self.assertIs(injection.get_original_value(), provider)
-
- def test_deepcopy(self):
- provider = providers.Factory(object)
- injection = providers.PositionalInjection(provider)
-
- injection_copy = providers.deepcopy(injection)
-
- self.assertIsNot(injection_copy, injection)
- self.assertIsNot(injection_copy.get_original_value(),
- injection.get_original_value())
-
- def test_deepcopy_memo(self):
- provider = providers.Factory(object)
- injection = providers.PositionalInjection(provider)
- injection_copy_orig = providers.PositionalInjection(provider)
-
- injection_copy = providers.deepcopy(
- injection, {id(injection): injection_copy_orig})
-
- self.assertIs(injection_copy, injection_copy_orig)
- self.assertIs(injection_copy.get_original_value(),
- injection.get_original_value())
-
-
-class NamedInjectionTests(unittest.TestCase):
-
- def test_isinstance(self):
- injection = providers.NamedInjection('name', 1)
- self.assertIsInstance(injection, providers.Injection)
-
- def test_get_name(self):
- injection = providers.NamedInjection('name', 123)
- self.assertEqual(injection.get_name(), 'name')
-
- def test_get_value_with_not_provider(self):
- injection = providers.NamedInjection('name', 123)
- self.assertEqual(injection.get_value(), 123)
-
- def test_get_value_with_factory(self):
- injection = providers.NamedInjection('name',
- providers.Factory(object))
-
- obj1 = injection.get_value()
- obj2 = injection.get_value()
-
- self.assertIs(type(obj1), object)
- self.assertIs(type(obj2), object)
- self.assertIsNot(obj1, obj2)
-
- def test_get_original_value(self):
- provider = providers.Factory(object)
- injection = providers.NamedInjection('name', provider)
- self.assertIs(injection.get_original_value(), provider)
-
- def test_deepcopy(self):
- provider = providers.Factory(object)
- injection = providers.NamedInjection('name', provider)
-
- injection_copy = providers.deepcopy(injection)
-
- self.assertIsNot(injection_copy, injection)
- self.assertIsNot(injection_copy.get_original_value(),
- injection.get_original_value())
-
- def test_deepcopy_memo(self):
- provider = providers.Factory(object)
- injection = providers.NamedInjection('name', provider)
- injection_copy_orig = providers.NamedInjection('name', provider)
-
- injection_copy = providers.deepcopy(
- injection, {id(injection): injection_copy_orig})
-
- self.assertIs(injection_copy, injection_copy_orig)
- self.assertIs(injection_copy.get_original_value(),
- injection.get_original_value())
diff --git a/tests/unit/providers/test_list_py2_py3.py b/tests/unit/providers/test_list_py2_py3.py
index 733714a1..9e709bd4 100644
--- a/tests/unit/providers/test_list_py2_py3.py
+++ b/tests/unit/providers/test_list_py2_py3.py
@@ -1,140 +1,142 @@
-"""Dependency injector list provider unit tests."""
+"""List provider tests."""
import sys
-import unittest
-
from dependency_injector import providers
-class ListTests(unittest.TestCase):
+def test_is_provider():
+ assert providers.is_provider(providers.List()) is True
+
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.List()))
+def test_provided_instance_provider():
+ provider = providers.List()
+ assert isinstance(provider.provided, providers.ProvidedInstance)
- def test_provided_instance_provider(self):
- provider = providers.List()
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
- def test_call_with_init_positional_args(self):
- provider = providers.List('i1', 'i2')
+def test_call_with_init_positional_args():
+ provider = providers.List("i1", "i2")
- list1 = provider()
- list2 = provider()
+ list1 = provider()
+ list2 = provider()
- self.assertEqual(list1, ['i1', 'i2'])
- self.assertEqual(list2, ['i1', 'i2'])
+ assert list1 == ["i1", "i2"]
+ assert list2 == ["i1", "i2"]
+ assert list1 is not list2
- self.assertIsNot(list1, list2)
- def test_call_with_context_args(self):
- provider = providers.List('i1', 'i2')
+def test_call_with_context_args():
+ provider = providers.List("i1", "i2")
+ assert provider("i3", "i4") == ["i1", "i2", "i3", "i4"]
- self.assertEqual(provider('i3', 'i4'), ['i1', 'i2', 'i3', 'i4'])
- def test_fluent_interface(self):
- provider = providers.List() \
- .add_args(1, 2)
+def test_fluent_interface():
+ provider = providers.List() \
+ .add_args(1, 2)
+ assert provider() == [1, 2]
- self.assertEqual(provider(), [1, 2])
- def test_set_args(self):
- provider = providers.List() \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
+def test_set_args():
+ provider = providers.List() \
+ .add_args(1, 2) \
+ .set_args(3, 4)
+ assert provider.args == (3, 4)
- def test_clear_args(self):
- provider = providers.List() \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
- def test_call_overridden(self):
- provider = providers.List(1, 2)
- overriding_provider1 = providers.List(2, 3)
- overriding_provider2 = providers.List(3, 4)
+def test_clear_args():
+ provider = providers.List() \
+ .add_args(1, 2) \
+ .clear_args()
+ assert provider.args == tuple()
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
- instance1 = provider()
- instance2 = provider()
+def test_call_overridden():
+ provider = providers.List(1, 2)
+ overriding_provider1 = providers.List(2, 3)
+ overriding_provider2 = providers.List(3, 4)
- self.assertIsNot(instance1, instance2)
- self.assertEqual(instance1, [3, 4])
- self.assertEqual(instance2, [3, 4])
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
- def test_deepcopy(self):
- provider = providers.List(1, 2)
+ instance1 = provider()
+ instance2 = provider()
- provider_copy = providers.deepcopy(provider)
+ assert instance1 is not instance2
+ assert instance1 == [3, 4]
+ assert instance2 == [3, 4]
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.args, provider_copy.args)
- self.assertIsInstance(provider, providers.List)
- def test_deepcopy_from_memo(self):
- provider = providers.List(1, 2)
- provider_copy_memo = providers.List(1, 2)
+def test_deepcopy():
+ provider = providers.List(1, 2)
- provider_copy = providers.deepcopy(
- provider, memo={id(provider): provider_copy_memo})
+ provider_copy = providers.deepcopy(provider)
- self.assertIs(provider_copy, provider_copy_memo)
+ assert provider is not provider_copy
+ assert provider.args == provider_copy.args
+ assert isinstance(provider, providers.List)
- def test_deepcopy_args(self):
- provider = providers.List()
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
- provider.add_args(dependent_provider1, dependent_provider2)
+def test_deepcopy_from_memo():
+ provider = providers.List(1, 2)
+ provider_copy_memo = providers.List(1, 2)
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+ assert provider_copy is provider_copy_memo
- self.assertNotEqual(provider.args, provider_copy.args)
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
+def test_deepcopy_args():
+ provider = providers.List()
+ dependent_provider1 = providers.Factory(list)
+ dependent_provider2 = providers.Factory(dict)
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
+ provider.add_args(dependent_provider1, dependent_provider2)
- def test_deepcopy_overridden(self):
- provider = providers.List()
- object_provider = providers.Object(object())
+ provider_copy = providers.deepcopy(provider)
+ dependent_provider_copy1 = provider_copy.args[0]
+ dependent_provider_copy2 = provider_copy.args[1]
- provider.override(object_provider)
+ assert provider.args != provider_copy.args
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
+ assert dependent_provider1.cls is dependent_provider_copy1.cls
+ assert dependent_provider1 is not dependent_provider_copy1
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.args, provider_copy.args)
- self.assertIsInstance(provider, providers.List)
+ assert dependent_provider2.cls is dependent_provider_copy2.cls
+ assert dependent_provider2 is not dependent_provider_copy2
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
- def test_deepcopy_with_sys_streams(self):
- provider = providers.List()
- provider.add_args(sys.stdin, sys.stdout, sys.stderr)
+def test_deepcopy_overridden():
+ provider = providers.List()
+ object_provider = providers.Object(object())
- provider_copy = providers.deepcopy(provider)
+ provider.override(object_provider)
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.List)
- self.assertIs(provider.args[0], sys.stdin)
- self.assertIs(provider.args[1], sys.stdout)
- self.assertIs(provider.args[2], sys.stderr)
+ provider_copy = providers.deepcopy(provider)
+ object_provider_copy = provider_copy.overridden[0]
- def test_repr(self):
- provider = providers.List(1, 2)
+ assert provider is not provider_copy
+ assert provider.args == provider_copy.args
+ assert isinstance(provider, providers.List)
- self.assertEqual(repr(provider),
- ''.format(
- repr(list(provider.args)),
- hex(id(provider))))
+ assert object_provider is not object_provider_copy
+ assert isinstance(object_provider_copy, providers.Object)
+
+
+def test_deepcopy_with_sys_streams():
+ provider = providers.List()
+ provider.add_args(sys.stdin, sys.stdout, sys.stderr)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider_copy, providers.List)
+ assert provider.args[0] is sys.stdin
+ assert provider.args[1] is sys.stdout
+ assert provider.args[2] is sys.stderr
+
+
+def test_repr():
+ provider = providers.List(1, 2)
+ assert repr(provider) == (
+ "".format(repr(list(provider.args)), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/test_object_py2_py3.py b/tests/unit/providers/test_object_py2_py3.py
new file mode 100644
index 00000000..d49aa71a
--- /dev/null
+++ b/tests/unit/providers/test_object_py2_py3.py
@@ -0,0 +1,93 @@
+"""Object provider tests."""
+
+from dependency_injector import providers
+
+
+def test_is_provider():
+ assert providers.is_provider(providers.Object(object())) is True
+
+
+def test_init_optional_provides():
+ instance = object()
+ provider = providers.Object()
+ provider.set_provides(instance)
+ assert provider.provides is instance
+ assert provider() is instance
+
+
+def test_set_provides_returns_():
+ provider = providers.Object()
+ assert provider.set_provides(object()) is provider
+
+
+def test_provided_instance_provider():
+ provider = providers.Object(object())
+ assert isinstance(provider.provided, providers.ProvidedInstance)
+
+
+def test_call_object_provider():
+ obj = object()
+ assert providers.Object(obj)() is obj
+
+
+def test_call_overridden_object_provider():
+ obj1 = object()
+ obj2 = object()
+ provider = providers.Object(obj1)
+ provider.override(providers.Object(obj2))
+ assert provider() is obj2
+
+
+def test_deepcopy():
+ provider = providers.Object(1)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Object)
+
+
+def test_deepcopy_from_memo():
+ provider = providers.Object(1)
+ provider_copy_memo = providers.Provider()
+
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_overridden():
+ provider = providers.Object(1)
+ overriding_provider = providers.Provider()
+
+ provider.override(overriding_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ overriding_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Object)
+
+ assert overriding_provider is not overriding_provider_copy
+ assert isinstance(overriding_provider_copy, providers.Provider)
+
+
+def test_deepcopy_doesnt_copy_provided_object():
+ # Fixes bug #231
+ # Details: https://github.com/ets-labs/python-dependency-injector/issues/231
+ some_object = object()
+ provider = providers.Object(some_object)
+
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider() is some_object
+ assert provider_copy() is some_object
+
+
+def test_repr():
+ some_object = object()
+ provider = providers.Object(some_object)
+ assert repr(provider) == (
+ "".format(repr(some_object), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/test_provided_instance_py2_py3.py b/tests/unit/providers/test_provided_instance_py2_py3.py
index 8cad2d19..d5ba7730 100644
--- a/tests/unit/providers/test_provided_instance_py2_py3.py
+++ b/tests/unit/providers/test_provided_instance_py2_py3.py
@@ -1,8 +1,7 @@
-"""Dependency injector provided instance provider unit tests."""
-
-import unittest
+"""ProvidedInstance provider tests."""
from dependency_injector import containers, providers
+from pytest import fixture
class Service:
@@ -32,7 +31,7 @@ class Client:
class Container(containers.DeclarativeContainer):
- service = providers.Singleton(Service, value='foo')
+ service = providers.Singleton(Service, value="foo")
client_attribute = providers.Factory(
Client,
@@ -64,146 +63,140 @@ class Container(containers.DeclarativeContainer):
)
-class ProvidedInstanceTests(unittest.TestCase):
-
- def setUp(self):
- self.container = Container()
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(self.container.service.provided))
-
- def test_attribute(self):
- client = self.container.client_attribute()
- self.assertEqual(client.value, 'foo')
-
- def test_item(self):
- client = self.container.client_item()
- self.assertEqual(client.value, 'foo')
-
- def test_attribute_item(self):
- client = self.container.client_attribute_item()
- self.assertEqual(client.value, 'foo')
-
- def test_method_call(self):
- client = self.container.client_method_call()
- self.assertEqual(client.value, 'foo')
-
- def test_method_closure_call(self):
- client = self.container.client_method_closure_call()
- self.assertEqual(client.value, 'foo')
-
- def test_provided_call(self):
- client = self.container.client_provided_call()
- self.assertEqual(client.value, 'foo')
-
- def test_call_overridden(self):
- value = 'bar'
- with self.container.service.override(Service(value)):
- self.assertEqual(self.container.client_attribute().value, value)
- self.assertEqual(self.container.client_item().value, value)
- self.assertEqual(self.container.client_attribute_item().value, value)
- self.assertEqual(self.container.client_method_call().value, value)
-
- def test_repr_provided_instance(self):
- provider = self.container.service.provided
- self.assertEqual(
- 'ProvidedInstance(\'{0}\')'.format(repr(self.container.service)),
- repr(provider),
- )
-
- def test_repr_attribute_getter(self):
- provider = self.container.service.provided.value
- self.assertEqual(
- 'AttributeGetter(\'value\')',
- repr(provider),
- )
-
- def test_repr_item_getter(self):
- provider = self.container.service.provided['test-test']
- self.assertEqual(
- 'ItemGetter(\'test-test\')',
- repr(provider),
- )
+@fixture
+def container():
+ return Container()
-class LazyInitTests(unittest.TestCase):
-
- def test_provided_instance(self):
- provides = providers.Object(object())
- provider = providers.ProvidedInstance()
- provider.set_provides(provides)
- self.assertIs(provider.provides, provides)
- self.assertIs(provider.set_provides(providers.Provider()), provider)
-
- def test_attribute_getter(self):
- provides = providers.Object(object())
- provider = providers.AttributeGetter()
- provider.set_provides(provides)
- provider.set_name('__dict__')
- self.assertIs(provider.provides, provides)
- self.assertEqual(provider.name, '__dict__')
- self.assertIs(provider.set_provides(providers.Provider()), provider)
- self.assertIs(provider.set_name('__dict__'), provider)
-
- def test_item_getter(self):
- provides = providers.Object({'foo': 'bar'})
- provider = providers.ItemGetter()
- provider.set_provides(provides)
- provider.set_name('foo')
- self.assertIs(provider.provides, provides)
- self.assertEqual(provider.name, 'foo')
- self.assertIs(provider.set_provides(providers.Provider()), provider)
- self.assertIs(provider.set_name('foo'), provider)
-
- def test_method_caller(self):
- provides = providers.Object(lambda: 42)
- provider = providers.MethodCaller()
- provider.set_provides(provides)
- self.assertIs(provider.provides, provides)
- self.assertEqual(provider(), 42)
- self.assertIs(provider.set_provides(providers.Provider()), provider)
+def test_is_provider(container):
+ assert providers.is_provider(container.service.provided) is True
-class ProvidedInstancePuzzleTests(unittest.TestCase):
+def test_attribute(container):
+ client = container.client_attribute()
+ assert client.value == "foo"
- def test_puzzled(self):
- service = providers.Singleton(Service, value='foo-bar')
- dependency = providers.Object(
- {
- 'a': {
- 'b': {
- 'c1': 10,
- 'c2': lambda arg: {'arg': arg}
- },
+def test_item(container):
+ client = container.client_item()
+ assert client.value == "foo"
+
+
+def test_attribute_item(container):
+ client = container.client_attribute_item()
+ assert client.value == "foo"
+
+
+def test_method_call(container):
+ client = container.client_method_call()
+ assert client.value == "foo"
+
+
+def test_method_closure_call(container):
+ client = container.client_method_closure_call()
+ assert client.value == "foo"
+
+
+def test_provided_call(container):
+ client = container.client_provided_call()
+ assert client.value == "foo"
+
+
+def test_call_overridden(container):
+ value = "bar"
+ with container.service.override(Service(value)):
+ assert container.client_attribute().value == value
+ assert container.client_item().value == value
+ assert container.client_attribute_item().value == value
+ assert container.client_method_call().value == value
+
+
+def test_repr_provided_instance(container):
+ provider = container.service.provided
+ assert repr(provider) == "ProvidedInstance(\"{0}\")".format(repr(container.service))
+
+
+def test_repr_attribute_getter(container):
+ provider = container.service.provided.value
+ assert repr(provider) == "AttributeGetter(\"value\")"
+
+
+def test_repr_item_getter(container):
+ provider = container.service.provided["test-test"]
+ assert repr(provider) == "ItemGetter(\"test-test\")"
+
+
+def test_provided_instance():
+ provides = providers.Object(object())
+ provider = providers.ProvidedInstance()
+ provider.set_provides(provides)
+ assert provider.provides is provides
+ assert provider.set_provides(providers.Provider()) is provider
+
+
+def test_attribute_getter():
+ provides = providers.Object(object())
+ provider = providers.AttributeGetter()
+ provider.set_provides(provides)
+ provider.set_name("__dict__")
+ assert provider.provides is provides
+ assert provider.name == "__dict__"
+ assert provider.set_provides(providers.Provider()) is provider
+ assert provider.set_name("__dict__") is provider
+
+
+def test_item_getter():
+ provides = providers.Object({"foo": "bar"})
+ provider = providers.ItemGetter()
+ provider.set_provides(provides)
+ provider.set_name("foo")
+ assert provider.provides is provides
+ assert provider.name == "foo"
+ assert provider.set_provides(providers.Provider()) is provider
+ assert provider.set_name("foo") is provider
+
+
+def test_method_caller():
+ provides = providers.Object(lambda: 42)
+ provider = providers.MethodCaller()
+ provider.set_provides(provides)
+ assert provider.provides is provides
+ assert provider() == 42
+ assert provider.set_provides(providers.Provider()) is provider
+
+
+def test_puzzled():
+ service = providers.Singleton(Service, value="foo-bar")
+
+ dependency = providers.Object(
+ {
+ "a": {
+ "b": {
+ "c1": 10,
+ "c2": lambda arg: {"arg": arg}
},
},
- )
+ },
+ )
- test_list = providers.List(
- dependency.provided['a']['b']['c1'],
- dependency.provided['a']['b']['c2'].call(22)['arg'],
- dependency.provided['a']['b']['c2'].call(service)['arg'],
- dependency.provided['a']['b']['c2'].call(service)['arg'].value,
- dependency.provided['a']['b']['c2'].call(service)['arg'].get_value.call(),
- )
+ test_list = providers.List(
+ dependency.provided["a"]["b"]["c1"],
+ dependency.provided["a"]["b"]["c2"].call(22)["arg"],
+ dependency.provided["a"]["b"]["c2"].call(service)["arg"],
+ dependency.provided["a"]["b"]["c2"].call(service)["arg"].value,
+ dependency.provided["a"]["b"]["c2"].call(service)["arg"].get_value.call(),
+ )
- result = test_list()
-
- self.assertEqual(
- result,
- [
- 10,
- 22,
- service(),
- 'foo-bar',
- 'foo-bar',
- ],
- )
+ result = test_list()
+ assert result == [
+ 10,
+ 22,
+ service(),
+ "foo-bar",
+ "foo-bar",
+ ]
-class ProvidedInstanceInBaseClassTests(unittest.TestCase):
-
- def test_provided_attribute(self):
- provider = providers.Provider()
- assert isinstance(provider.provided, providers.ProvidedInstance)
+def test_provided_attribute_in_base_class():
+ provider = providers.Provider()
+ assert isinstance(provider.provided, providers.ProvidedInstance)
diff --git a/tests/unit/providers/test_provider_py2_py3.py b/tests/unit/providers/test_provider_py2_py3.py
new file mode 100644
index 00000000..50f4dc3e
--- /dev/null
+++ b/tests/unit/providers/test_provider_py2_py3.py
@@ -0,0 +1,157 @@
+"""Provider tests."""
+
+import warnings
+
+from dependency_injector import providers, errors
+from pytest import fixture, raises
+
+
+@fixture
+def provider():
+ return providers.Provider()
+
+
+def test_is_provider(provider):
+ assert providers.is_provider(provider) is True
+
+
+def test_call(provider):
+ with raises(NotImplementedError):
+ provider()
+
+
+def test_delegate(provider):
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore")
+ delegate1 = provider.delegate()
+ delegate2 = provider.delegate()
+
+ assert isinstance(delegate1, providers.Delegate)
+ assert delegate1() is provider
+
+ assert isinstance(delegate2, providers.Delegate)
+ assert delegate2() is provider
+
+ assert delegate1 is not delegate2
+
+
+def test_provider(provider):
+ delegate1 = provider.provider
+
+ assert isinstance(delegate1, providers.Delegate)
+ assert delegate1() is provider
+
+ delegate2 = provider.provider
+
+ assert isinstance(delegate2, providers.Delegate)
+ assert delegate2() is provider
+
+ assert delegate1 is not delegate2
+
+
+def test_override(provider):
+ overriding_provider = providers.Provider()
+ provider.override(overriding_provider)
+ assert provider.overridden == (overriding_provider,)
+ assert provider.last_overriding is overriding_provider
+
+
+def test_double_override(provider):
+ overriding_provider1 = providers.Object(1)
+ overriding_provider2 = providers.Object(2)
+
+ provider.override(overriding_provider1)
+ overriding_provider1.override(overriding_provider2)
+
+ assert provider() == overriding_provider2()
+
+
+def test_overriding_context(provider):
+ overriding_provider = providers.Provider()
+ with provider.override(overriding_provider):
+ assert provider.overridden == (overriding_provider,)
+ assert provider.overridden == tuple()
+ assert not provider.overridden
+
+
+def test_override_with_itself(provider):
+ with raises(errors.Error):
+ provider.override(provider)
+
+
+def test_override_with_not_provider(provider):
+ obj = object()
+ provider.override(obj)
+ assert provider() is obj
+
+
+def test_reset_last_overriding(provider):
+ overriding_provider1 = providers.Provider()
+ overriding_provider2 = providers.Provider()
+
+ provider.override(overriding_provider1)
+ provider.override(overriding_provider2)
+
+ assert provider.overridden[-1] is overriding_provider2
+ assert provider.last_overriding is overriding_provider2
+
+ provider.reset_last_overriding()
+ assert provider.overridden[-1] is overriding_provider1
+ assert provider.last_overriding is overriding_provider1
+
+ provider.reset_last_overriding()
+ assert provider.overridden == tuple()
+ assert not provider.overridden
+ assert provider.last_overriding is None
+
+
+def test_reset_last_overriding_of_not_overridden_provider(provider):
+ with raises(errors.Error):
+ provider.reset_last_overriding()
+
+
+def test_reset_override(provider):
+ overriding_provider = providers.Provider()
+ provider.override(overriding_provider)
+
+ assert provider.overridden
+ assert provider.overridden == (overriding_provider,)
+
+ provider.reset_override()
+
+ assert provider.overridden == tuple()
+
+
+def test_deepcopy(provider):
+ provider_copy = providers.deepcopy(provider)
+
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Provider)
+
+
+def test_deepcopy_from_memo(provider):
+ provider_copy_memo = providers.Provider()
+ provider_copy = providers.deepcopy(provider, memo={id(provider): provider_copy_memo})
+ assert provider_copy is provider_copy_memo
+
+
+def test_deepcopy_overridden(provider):
+ overriding_provider = providers.Provider()
+
+ provider.override(overriding_provider)
+
+ provider_copy = providers.deepcopy(provider)
+ overriding_provider_copy = provider_copy.overridden[0]
+
+ assert provider is not provider_copy
+ assert isinstance(provider, providers.Provider)
+
+ assert overriding_provider is not overriding_provider_copy
+ assert isinstance(overriding_provider_copy, providers.Provider)
+
+
+def test_repr(provider):
+ assert repr(provider) == (
+ "".format(hex(id(provider)))
+ )
diff --git a/tests/unit/providers/test_resource_py35.py b/tests/unit/providers/test_resource_py35.py
deleted file mode 100644
index ae8074b3..00000000
--- a/tests/unit/providers/test_resource_py35.py
+++ /dev/null
@@ -1,665 +0,0 @@
-"""Dependency injector resource provider unit tests."""
-
-import asyncio
-import inspect
-import unittest
-from typing import Any
-
-from dependency_injector import containers, providers, resources, errors
-
-# Runtime import to get asyncutils module
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-
-from asyncutils import AsyncTestCase
-
-
-def init_fn(*args, **kwargs):
- return args, kwargs
-
-
-class ResourceTests(unittest.TestCase):
-
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Resource(init_fn)))
-
- def test_init_optional_provides(self):
- provider = providers.Resource()
- provider.set_provides(init_fn)
- self.assertIs(provider.provides, init_fn)
- self.assertEqual(provider(), (tuple(), dict()))
-
- def test_set_provides_returns_self(self):
- provider = providers.Resource()
- self.assertIs(provider.set_provides(init_fn), provider)
-
- def test_provided_instance_provider(self):
- provider = providers.Resource(init_fn)
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_injection(self):
- resource = object()
-
- def _init():
- _init.counter += 1
- return resource
- _init.counter = 0
-
- class Container(containers.DeclarativeContainer):
- resource = providers.Resource(_init)
- dependency1 = providers.List(resource)
- dependency2 = providers.List(resource)
-
- container = Container()
- list1 = container.dependency1()
- list2 = container.dependency2()
-
- self.assertEqual(list1, [resource])
- self.assertIs(list1[0], resource)
-
- self.assertEqual(list2, [resource])
- self.assertIs(list2[0], resource)
-
- self.assertEqual(_init.counter, 1)
-
- def test_init_function(self):
- def _init():
- _init.counter += 1
- _init.counter = 0
-
- provider = providers.Resource(_init)
-
- result1 = provider()
- self.assertIsNone(result1)
- self.assertEqual(_init.counter, 1)
-
- result2 = provider()
- self.assertIsNone(result2)
- self.assertEqual(_init.counter, 1)
-
- provider.shutdown()
-
- def test_init_generator(self):
- def _init():
- _init.init_counter += 1
- yield
- _init.shutdown_counter += 1
-
- _init.init_counter = 0
- _init.shutdown_counter = 0
-
- provider = providers.Resource(_init)
-
- result1 = provider()
- self.assertIsNone(result1)
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 0)
-
- provider.shutdown()
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 1)
-
- result2 = provider()
- self.assertIsNone(result2)
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 1)
-
- provider.shutdown()
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 2)
-
- def test_init_class(self):
- class TestResource(resources.Resource):
- init_counter = 0
- shutdown_counter = 0
-
- def init(self):
- self.__class__.init_counter += 1
-
- def shutdown(self, _):
- self.__class__.shutdown_counter += 1
-
- provider = providers.Resource(TestResource)
-
- result1 = provider()
- self.assertIsNone(result1)
- self.assertEqual(TestResource.init_counter, 1)
- self.assertEqual(TestResource.shutdown_counter, 0)
-
- provider.shutdown()
- self.assertEqual(TestResource.init_counter, 1)
- self.assertEqual(TestResource.shutdown_counter, 1)
-
- result2 = provider()
- self.assertIsNone(result2)
- self.assertEqual(TestResource.init_counter, 2)
- self.assertEqual(TestResource.shutdown_counter, 1)
-
- provider.shutdown()
- self.assertEqual(TestResource.init_counter, 2)
- self.assertEqual(TestResource.shutdown_counter, 2)
-
- def test_init_class_generic_typing(self):
- # See issue: https://github.com/ets-labs/python-dependency-injector/issues/488
- class TestDependency:
- ...
-
- class TestResource(resources.Resource[TestDependency]):
- def init(self, *args: Any, **kwargs: Any) -> TestDependency:
- return TestDependency()
-
- def shutdown(self, resource: TestDependency) -> None: ...
-
- self.assertTrue(issubclass(TestResource, resources.Resource))
-
- def test_init_class_abc_init_definition_is_required(self):
- class TestResource(resources.Resource):
- ...
-
- with self.assertRaises(TypeError) as context:
- TestResource()
-
- self.assertIn("Can't instantiate abstract class TestResource", str(context.exception))
- self.assertIn("init", str(context.exception))
-
- def test_init_class_abc_shutdown_definition_is_not_required(self):
- class TestResource(resources.Resource):
- def init(self):
- ...
- self.assertTrue(hasattr(TestResource(), 'shutdown'))
-
- def test_init_not_callable(self):
- provider = providers.Resource(1)
- with self.assertRaises(errors.Error):
- provider.init()
-
- def test_init_and_shutdown(self):
- def _init():
- _init.init_counter += 1
- yield
- _init.shutdown_counter += 1
-
- _init.init_counter = 0
- _init.shutdown_counter = 0
-
- provider = providers.Resource(_init)
-
- result1 = provider.init()
- self.assertIsNone(result1)
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 0)
-
- provider.shutdown()
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 1)
-
- result2 = provider.init()
- self.assertIsNone(result2)
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 1)
-
- provider.shutdown()
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 2)
-
- def test_shutdown_of_not_initialized(self):
- def _init():
- yield
-
- provider = providers.Resource(_init)
-
- result = provider.shutdown()
- self.assertIsNone(result)
-
- def test_initialized(self):
- provider = providers.Resource(init_fn)
- self.assertFalse(provider.initialized)
-
- provider.init()
- self.assertTrue(provider.initialized)
-
- provider.shutdown()
- self.assertFalse(provider.initialized)
-
- def test_call_with_context_args(self):
- provider = providers.Resource(init_fn, 'i1', 'i2')
- self.assertEqual(provider('i3', i4=4), (('i1', 'i2', 'i3'), {'i4': 4}))
-
- def test_fluent_interface(self):
- provider = providers.Resource(init_fn) \
- .add_args(1, 2) \
- .add_kwargs(a3=3, a4=4)
-
- self.assertEqual(provider(), ((1, 2), {'a3': 3, 'a4': 4}))
-
- def test_set_args(self):
- provider = providers.Resource(init_fn) \
- .add_args(1, 2) \
- .set_args(3, 4)
- self.assertEqual(provider.args, (3, 4))
-
- def test_clear_args(self):
- provider = providers.Resource(init_fn) \
- .add_args(1, 2) \
- .clear_args()
- self.assertEqual(provider.args, tuple())
-
- def test_set_kwargs(self):
- provider = providers.Resource(init_fn) \
- .add_kwargs(a1='i1', a2='i2') \
- .set_kwargs(a3='i3', a4='i4')
- self.assertEqual(provider.kwargs, {'a3': 'i3', 'a4': 'i4'})
-
- def test_clear_kwargs(self):
- provider = providers.Resource(init_fn) \
- .add_kwargs(a1='i1', a2='i2') \
- .clear_kwargs()
- self.assertEqual(provider.kwargs, {})
-
- def test_call_overridden(self):
- provider = providers.Resource(init_fn, 1)
- overriding_provider1 = providers.Resource(init_fn, 2)
- overriding_provider2 = providers.Resource(init_fn, 3)
-
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
-
- instance1 = provider()
- instance2 = provider()
-
- self.assertIs(instance1, instance2)
- self.assertEqual(instance1, ((3,), {}))
- self.assertEqual(instance2, ((3,), {}))
-
- def test_deepcopy(self):
- provider = providers.Resource(init_fn, 1, 2, a3=3, a4=4)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.args, provider_copy.args)
- self.assertEqual(provider.kwargs, provider_copy.kwargs)
- self.assertIsInstance(provider, providers.Resource)
-
- def test_deepcopy_initialized(self):
- provider = providers.Resource(init_fn)
- provider.init()
-
- with self.assertRaises(errors.Error):
- providers.deepcopy(provider)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Resource(init_fn)
- provider_copy_memo = providers.Resource(init_fn)
-
- provider_copy = providers.deepcopy(
- provider,
- memo={id(provider): provider_copy_memo},
- )
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_args(self):
- provider = providers.Resource(init_fn)
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
-
- provider.add_args(dependent_provider1, dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.args[0]
- dependent_provider_copy2 = provider_copy.args[1]
-
- self.assertNotEqual(provider.args, provider_copy.args)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_kwargs(self):
- provider = providers.Resource(init_fn)
- dependent_provider1 = providers.Factory(list)
- dependent_provider2 = providers.Factory(dict)
-
- provider.add_kwargs(d1=dependent_provider1, d2=dependent_provider2)
-
- provider_copy = providers.deepcopy(provider)
- dependent_provider_copy1 = provider_copy.kwargs['d1']
- dependent_provider_copy2 = provider_copy.kwargs['d2']
-
- self.assertNotEqual(provider.kwargs, provider_copy.kwargs)
-
- self.assertIs(dependent_provider1.cls, dependent_provider_copy1.cls)
- self.assertIsNot(dependent_provider1, dependent_provider_copy1)
-
- self.assertIs(dependent_provider2.cls, dependent_provider_copy2.cls)
- self.assertIsNot(dependent_provider2, dependent_provider_copy2)
-
- def test_deepcopy_overridden(self):
- provider = providers.Resource(init_fn)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertEqual(provider.args, provider_copy.args)
- self.assertIsInstance(provider, providers.Resource)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Resource(init_fn)
- provider.add_args(sys.stdin, sys.stdout, sys.stderr)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Resource)
- self.assertIs(provider.args[0], sys.stdin)
- self.assertIs(provider.args[1], sys.stdout)
- self.assertIs(provider.args[2], sys.stderr)
-
- def test_repr(self):
- provider = providers.Resource(init_fn)
-
- self.assertEqual(
- repr(provider),
- ''.format(
- repr(init_fn),
- hex(id(provider)),
- )
- )
-
-
-class AsyncResourceTest(AsyncTestCase):
-
- def test_init_async_function(self):
- resource = object()
-
- async def _init():
- await asyncio.sleep(0.001)
- _init.counter += 1
- return resource
- _init.counter = 0
-
- provider = providers.Resource(_init)
-
- result1 = self._run(provider())
- self.assertIs(result1, resource)
- self.assertEqual(_init.counter, 1)
-
- result2 = self._run(provider())
- self.assertIs(result2, resource)
- self.assertEqual(_init.counter, 1)
-
- self._run(provider.shutdown())
-
- def test_init_async_generator(self):
- resource = object()
-
- async def _init():
- await asyncio.sleep(0.001)
- _init.init_counter += 1
-
- yield resource
-
- await asyncio.sleep(0.001)
- _init.shutdown_counter += 1
-
- _init.init_counter = 0
- _init.shutdown_counter = 0
-
- provider = providers.Resource(_init)
-
- result1 = self._run(provider())
- self.assertIs(result1, resource)
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 0)
-
- self._run(provider.shutdown())
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 1)
-
- result2 = self._run(provider())
- self.assertIs(result2, resource)
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 1)
-
- self._run(provider.shutdown())
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 2)
-
- def test_init_async_class(self):
- resource = object()
-
- class TestResource(resources.AsyncResource):
- init_counter = 0
- shutdown_counter = 0
-
- async def init(self):
- await asyncio.sleep(0.001)
- self.__class__.init_counter += 1
- return resource
-
- async def shutdown(self, resource_):
- await asyncio.sleep(0.001)
- self.__class__.shutdown_counter += 1
- assert resource_ is resource
-
- provider = providers.Resource(TestResource)
-
- result1 = self._run(provider())
- self.assertIs(result1, resource)
- self.assertEqual(TestResource.init_counter, 1)
- self.assertEqual(TestResource.shutdown_counter, 0)
-
- self._run(provider.shutdown())
- self.assertEqual(TestResource.init_counter, 1)
- self.assertEqual(TestResource.shutdown_counter, 1)
-
- result2 = self._run(provider())
- self.assertIs(result2, resource)
- self.assertEqual(TestResource.init_counter, 2)
- self.assertEqual(TestResource.shutdown_counter, 1)
-
- self._run(provider.shutdown())
- self.assertEqual(TestResource.init_counter, 2)
- self.assertEqual(TestResource.shutdown_counter, 2)
-
- def test_init_async_class_generic_typing(self):
- # See issue: https://github.com/ets-labs/python-dependency-injector/issues/488
- class TestDependency:
- ...
-
- class TestAsyncResource(resources.AsyncResource[TestDependency]):
- async def init(self, *args: Any, **kwargs: Any) -> TestDependency:
- return TestDependency()
-
- async def shutdown(self, resource: TestDependency) -> None: ...
-
- self.assertTrue(issubclass(TestAsyncResource, resources.AsyncResource))
-
- def test_init_async_class_abc_init_definition_is_required(self):
- class TestAsyncResource(resources.AsyncResource):
- ...
-
- with self.assertRaises(TypeError) as context:
- TestAsyncResource()
-
- self.assertIn("Can't instantiate abstract class TestAsyncResource", str(context.exception))
- self.assertIn("init", str(context.exception))
-
- def test_init_async_class_abc_shutdown_definition_is_not_required(self):
- class TestAsyncResource(resources.AsyncResource):
- async def init(self):
- ...
- self.assertTrue(hasattr(TestAsyncResource(), 'shutdown'))
- self.assertTrue(inspect.iscoroutinefunction(TestAsyncResource.shutdown))
-
- def test_init_with_error(self):
- async def _init():
- raise RuntimeError()
-
- provider = providers.Resource(_init)
-
- future = provider()
- self.assertTrue(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(future)
-
- self.assertFalse(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_init_async_gen_with_error(self):
- async def _init():
- raise RuntimeError()
- yield
-
- provider = providers.Resource(_init)
-
- future = provider()
- self.assertTrue(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(future)
-
- self.assertFalse(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_init_async_subclass_with_error(self):
- class _Resource(resources.AsyncResource):
- async def init(self):
- raise RuntimeError()
-
- async def shutdown(self, resource):
- pass
-
- provider = providers.Resource(_Resource)
-
- future = provider()
- self.assertTrue(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- with self.assertRaises(RuntimeError):
- self._run(future)
-
- self.assertFalse(provider.initialized)
- self.assertTrue(provider.is_async_mode_enabled())
-
- def test_init_with_dependency_to_other_resource(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/361
- async def init_db_connection(db_url: str):
- await asyncio.sleep(0.001)
- yield {'connection': 'ok', 'url': db_url}
-
- async def init_user_session(db):
- await asyncio.sleep(0.001)
- yield {'session': 'ok', 'db': db}
-
- class Container(containers.DeclarativeContainer):
- config = providers.Configuration()
-
- db_connection = providers.Resource(
- init_db_connection,
- db_url=config.db_url,
- )
-
- user_session = providers.Resource(
- init_user_session,
- db=db_connection
- )
-
- async def main():
- container = Container(config={'db_url': 'postgres://...'})
- try:
- return await container.user_session()
- finally:
- await container.shutdown_resources()
-
- result = self._run(main())
-
- self.assertEqual(
- result,
- {'session': 'ok', 'db': {'connection': 'ok', 'url': 'postgres://...'}},
- )
-
- def test_init_and_shutdown_methods(self):
- async def _init():
- await asyncio.sleep(0.001)
- _init.init_counter += 1
-
- yield
-
- await asyncio.sleep(0.001)
- _init.shutdown_counter += 1
-
- _init.init_counter = 0
- _init.shutdown_counter = 0
-
- provider = providers.Resource(_init)
-
- self._run(provider.init())
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 0)
-
- self._run(provider.shutdown())
- self.assertEqual(_init.init_counter, 1)
- self.assertEqual(_init.shutdown_counter, 1)
-
- self._run(provider.init())
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 1)
-
- self._run(provider.shutdown())
- self.assertEqual(_init.init_counter, 2)
- self.assertEqual(_init.shutdown_counter, 2)
-
- def test_shutdown_of_not_initialized(self):
- async def _init():
- yield
-
- provider = providers.Resource(_init)
- provider.enable_async_mode()
-
- result = self._run(provider.shutdown())
- self.assertIsNone(result)
-
- def test_concurrent_init(self):
- resource = object()
-
- async def _init():
- await asyncio.sleep(0.001)
- _init.counter += 1
- return resource
- _init.counter = 0
-
- provider = providers.Resource(_init)
-
- result1, result2 = self._run(
- asyncio.gather(
- provider(),
- provider()
- ),
- )
-
- self.assertIs(result1, resource)
- self.assertEqual(_init.counter, 1)
-
- self.assertIs(result2, resource)
- self.assertEqual(_init.counter, 1)
diff --git a/tests/unit/providers/test_selector_py2_py3.py b/tests/unit/providers/test_selector_py2_py3.py
index 14ad32e3..c7e96d01 100644
--- a/tests/unit/providers/test_selector_py2_py3.py
+++ b/tests/unit/providers/test_selector_py2_py3.py
@@ -1,223 +1,209 @@
-"""Dependency injector selector provider unit tests."""
+"""Selector provider tests."""
import functools
import itertools
import sys
-import unittest
-
from dependency_injector import providers, errors
+from pytest import fixture, mark, raises
-class SelectorTests(unittest.TestCase):
+@fixture
+def switch():
+ return providers.Configuration()
- selector = providers.Configuration()
- def test_is_provider(self):
- self.assertTrue(providers.is_provider(providers.Selector(self.selector)))
+@fixture
+def one():
+ return providers.Object(1)
- def test_init_optional(self):
- one = providers.Object(1)
- two = providers.Object(2)
- provider = providers.Selector()
- provider.set_selector(self.selector)
- provider.set_providers(one=one, two=two)
+@fixture
+def two():
+ return providers.Object(2)
- self.assertEqual(provider.providers, {'one': one, 'two': two})
- with self.selector.override('one'):
- self.assertEqual(provider(), one())
- with self.selector.override('two'):
- self.assertEqual(provider(), two())
- def test_set_selector_returns_self(self):
- provider = providers.Selector()
- self.assertIs(provider.set_selector(self.selector), provider)
+@fixture
+def selector_type():
+ return "default"
- def test_set_providers_returns_self(self):
- provider = providers.Selector()
- self.assertIs(provider.set_providers(one=providers.Provider()), provider)
- def test_provided_instance_provider(self):
- provider = providers.Selector(self.selector)
- self.assertIsInstance(provider.provided, providers.ProvidedInstance)
-
- def test_call(self):
- provider = providers.Selector(
- self.selector,
- one=providers.Object(1),
- two=providers.Object(2),
- )
-
- with self.selector.override('one'):
- self.assertEqual(provider(), 1)
-
- with self.selector.override('two'):
- self.assertEqual(provider(), 2)
-
- def test_call_undefined_provider(self):
- provider = providers.Selector(
- self.selector,
- one=providers.Object(1),
- two=providers.Object(2),
- )
-
- with self.selector.override('three'):
- with self.assertRaises(errors.Error):
- provider()
-
- def test_call_selector_is_none(self):
- provider = providers.Selector(
- self.selector,
- one=providers.Object(1),
- two=providers.Object(2),
- )
-
- with self.selector.override(None):
- with self.assertRaises(errors.Error):
- provider()
-
- def test_call_any_callable(self):
- provider = providers.Selector(
- functools.partial(next, itertools.cycle(['one', 'two'])),
- one=providers.Object(1),
- two=providers.Object(2),
- )
-
- self.assertEqual(provider(), 1)
- self.assertEqual(provider(), 2)
- self.assertEqual(provider(), 1)
- self.assertEqual(provider(), 2)
-
- def test_call_with_context_args(self):
- provider = providers.Selector(
- self.selector,
- one=providers.Callable(lambda *args, **kwargs: (args, kwargs)),
- )
-
- with self.selector.override('one'):
- args, kwargs = provider(1, 2, three=3, four=4)
-
- self.assertEqual(args, (1, 2))
- self.assertEqual(kwargs, {'three': 3, 'four': 4})
-
- def test_getattr(self):
- provider_one = providers.Object(1)
- provider_two = providers.Object(2)
-
- provider = providers.Selector(
- self.selector,
- one=provider_one,
- two=provider_two,
- )
-
- self.assertIs(provider.one, provider_one)
- self.assertIs(provider.two, provider_two)
-
- def test_getattr_attribute_error(self):
- provider_one = providers.Object(1)
- provider_two = providers.Object(2)
-
- provider = providers.Selector(
- self.selector,
- one=provider_one,
- two=provider_two,
- )
-
- with self.assertRaises(AttributeError):
- _ = provider.provider_three
-
- def test_call_overridden(self):
- provider = providers.Selector(self.selector, sample=providers.Object(1))
- overriding_provider1 = providers.Selector(self.selector, sample=providers.Object(2))
- overriding_provider2 = providers.Selector(self.selector, sample=providers.Object(3))
-
- provider.override(overriding_provider1)
- provider.override(overriding_provider2)
-
- with self.selector.override('sample'):
- self.assertEqual(provider(), 3)
-
- def test_providers_attribute(self):
- provider_one = providers.Object(1)
- provider_two = providers.Object(2)
-
- provider = providers.Selector(
- self.selector,
- one=provider_one,
- two=provider_two,
- )
-
- self.assertEqual(provider.providers, {'one': provider_one, 'two': provider_two})
-
- def test_deepcopy(self):
- provider = providers.Selector(self.selector)
-
- provider_copy = providers.deepcopy(provider)
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Selector)
-
- def test_deepcopy_from_memo(self):
- provider = providers.Selector(self.selector)
- provider_copy_memo = providers.Selector(self.selector)
-
- provider_copy = providers.deepcopy(
- provider,
- memo={id(provider): provider_copy_memo},
- )
-
- self.assertIs(provider_copy, provider_copy_memo)
-
- def test_deepcopy_overridden(self):
- provider = providers.Selector(self.selector)
- object_provider = providers.Object(object())
-
- provider.override(object_provider)
-
- provider_copy = providers.deepcopy(provider)
- object_provider_copy = provider_copy.overridden[0]
-
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider, providers.Selector)
-
- self.assertIsNot(object_provider, object_provider_copy)
- self.assertIsInstance(object_provider_copy, providers.Object)
-
- def test_deepcopy_with_sys_streams(self):
- provider = providers.Selector(
- self.selector,
+@fixture
+def selector(selector_type, switch, one, two):
+ if selector_type == "default":
+ return providers.Selector(switch, one=one, two=two)
+ elif selector_type == "empty":
+ return providers.Selector()
+ elif selector_type == "sys-streams":
+ return providers.Selector(
+ switch,
stdin=providers.Object(sys.stdin),
stdout=providers.Object(sys.stdout),
stderr=providers.Object(sys.stderr),
-
)
+ else:
+ raise ValueError("Unknown selector type \"{0}\"".format(selector_type))
- provider_copy = providers.deepcopy(provider)
- self.assertIsNot(provider, provider_copy)
- self.assertIsInstance(provider_copy, providers.Selector)
+def test_is_provider(selector):
+ assert providers.is_provider(selector) is True
- with self.selector.override('stdin'):
- self.assertIs(provider(), sys.stdin)
- with self.selector.override('stdout'):
- self.assertIs(provider(), sys.stdout)
+@mark.parametrize("selector_type", ["empty"])
+def test_init_optional(selector, switch, one, two):
+ selector.set_selector(switch)
+ selector.set_providers(one=one, two=two)
- with self.selector.override('stderr'):
- self.assertIs(provider(), sys.stderr)
+ assert selector.providers == {"one": one, "two": two}
+ with switch.override("one"):
+ assert selector() == one()
+ with switch.override("two"):
+ assert selector() == two()
- def test_repr(self):
- provider = providers.Selector(
- self.selector,
- one=providers.Object(1),
- two=providers.Object(2),
- )
- self.assertIn(
- '".format(repr(container), hex(id(provider)))
+ )
diff --git a/tests/unit/providers/test_singletons_py2_py3.py b/tests/unit/providers/test_singletons_py2_py3.py
deleted file mode 100644
index 8a1dffac..00000000
--- a/tests/unit/providers/test_singletons_py2_py3.py
+++ /dev/null
@@ -1,206 +0,0 @@
-"""Dependency injector singleton providers unit tests."""
-
-import unittest
-
-from dependency_injector import (
- providers,
- errors,
-)
-
-from .singleton_common import Example, _BaseSingletonTestCase
-
-
-class SingletonTests(_BaseSingletonTestCase, unittest.TestCase):
-
- singleton_cls = providers.Singleton
-
- def test_repr(self):
- provider = self.singleton_cls(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class DelegatedSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
-
- singleton_cls = providers.DelegatedSingleton
-
- def test_is_delegated_provider(self):
- provider = self.singleton_cls(object)
- self.assertTrue(providers.is_delegated(provider))
-
- def test_repr(self):
- provider = self.singleton_cls(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class ThreadLocalSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
-
- singleton_cls = providers.ThreadLocalSingleton
-
- def test_repr(self):
- provider = providers.ThreadLocalSingleton(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
- def test_reset(self):
- provider = providers.ThreadLocalSingleton(Example)
-
- instance1 = provider()
- self.assertIsInstance(instance1, Example)
-
- provider.reset()
-
- instance2 = provider()
- self.assertIsInstance(instance2, Example)
-
- self.assertIsNot(instance1, instance2)
-
- def test_reset_clean(self):
- provider = providers.ThreadLocalSingleton(Example)
- instance1 = provider()
-
- provider.reset()
- provider.reset()
-
- instance2 = provider()
- self.assertIsNot(instance1, instance2)
-
-
-class DelegatedThreadLocalSingletonTests(_BaseSingletonTestCase,
- unittest.TestCase):
-
- singleton_cls = providers.DelegatedThreadLocalSingleton
-
- def test_is_delegated_provider(self):
- provider = self.singleton_cls(object)
- self.assertTrue(providers.is_delegated(provider))
-
- def test_repr(self):
- provider = self.singleton_cls(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class ThreadSafeSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
-
- singleton_cls = providers.ThreadSafeSingleton
-
- def test_repr(self):
- provider = self.singleton_cls(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class DelegatedThreadSafeSingletonTests(_BaseSingletonTestCase,
- unittest.TestCase):
-
- singleton_cls = providers.DelegatedThreadSafeSingleton
-
- def test_is_delegated_provider(self):
- provider = self.singleton_cls(object)
- self.assertTrue(providers.is_delegated(provider))
-
- def test_repr(self):
- provider = self.singleton_cls(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class AbstractSingletonTests(unittest.TestCase):
-
- def test_inheritance(self):
- self.assertIsInstance(providers.AbstractSingleton(Example),
- providers.BaseSingleton)
-
- def test_call_overridden_by_singleton(self):
- provider = providers.AbstractSingleton(object)
- provider.override(providers.Singleton(Example))
-
- self.assertIsInstance(provider(), Example)
-
- def test_call_overridden_by_delegated_singleton(self):
- provider = providers.AbstractSingleton(object)
- provider.override(providers.DelegatedSingleton(Example))
-
- self.assertIsInstance(provider(), Example)
-
- def test_call_not_overridden(self):
- provider = providers.AbstractSingleton(object)
-
- with self.assertRaises(errors.Error):
- provider()
-
- def test_reset_overridden(self):
- provider = providers.AbstractSingleton(object)
- provider.override(providers.Singleton(Example))
-
- instance1 = provider()
-
- provider.reset()
-
- instance2 = provider()
-
- self.assertIsNot(instance1, instance2)
- self.assertIsInstance(instance1, Example)
- self.assertIsInstance(instance2, Example)
-
- def test_reset_not_overridden(self):
- provider = providers.AbstractSingleton(object)
-
- with self.assertRaises(errors.Error):
- provider.reset()
-
- def test_override_by_not_singleton(self):
- provider = providers.AbstractSingleton(object)
-
- with self.assertRaises(errors.Error):
- provider.override(providers.Factory(object))
-
- def test_repr(self):
- provider = providers.AbstractSingleton(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
-
-class SingletonDelegateTests(unittest.TestCase):
-
- def setUp(self):
- self.delegated = providers.Singleton(Example)
- self.delegate = providers.SingletonDelegate(self.delegated)
-
- def test_is_delegate(self):
- self.assertIsInstance(self.delegate, providers.Delegate)
-
- def test_init_with_not_singleton(self):
- self.assertRaises(errors.Error,
- providers.SingletonDelegate,
- providers.Object(object()))
diff --git a/tests/unit/providers/test_singletons_py3.py b/tests/unit/providers/test_singletons_py3.py
deleted file mode 100644
index 47eb9489..00000000
--- a/tests/unit/providers/test_singletons_py3.py
+++ /dev/null
@@ -1,42 +0,0 @@
-import unittest
-
-from dependency_injector import providers
-
-from .singleton_common import Example, _BaseSingletonTestCase
-
-
-class ContextLocalSingletonTests(_BaseSingletonTestCase, unittest.TestCase):
-
- singleton_cls = providers.ContextLocalSingleton
-
- def test_repr(self):
- provider = providers.ContextLocalSingleton(Example)
-
- self.assertEqual(repr(provider),
- ''.format(
- repr(Example),
- hex(id(provider))))
-
- def test_reset(self):
- provider = providers.ContextLocalSingleton(Example)
-
- instance1 = provider()
- self.assertIsInstance(instance1, Example)
-
- provider.reset()
-
- instance2 = provider()
- self.assertIsInstance(instance2, Example)
-
- self.assertIsNot(instance1, instance2)
-
- def test_reset_clean(self):
- provider = providers.ContextLocalSingleton(Example)
- instance1 = provider()
-
- provider.reset()
- provider.reset()
-
- instance2 = provider()
- self.assertIsNot(instance1, instance2)
diff --git a/tests/unit/providers/test_traversal_py3.py b/tests/unit/providers/test_traversal_py3.py
deleted file mode 100644
index f32bd913..00000000
--- a/tests/unit/providers/test_traversal_py3.py
+++ /dev/null
@@ -1,875 +0,0 @@
-import unittest
-
-from dependency_injector import containers, providers
-
-
-class TraverseTests(unittest.TestCase):
-
- def test_traverse_cycled_graph(self):
- provider1 = providers.Provider()
-
- provider2 = providers.Provider()
- provider2.override(provider1)
-
- provider3 = providers.Provider()
- provider3.override(provider2)
-
- provider1.override(provider3) # Cycle: provider3 -> provider2 -> provider1 -> provider3
-
- all_providers = list(providers.traverse(provider1))
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
- def test_traverse_types_filtering(self):
- provider1 = providers.Resource(dict)
- provider2 = providers.Resource(dict)
- provider3 = providers.Provider()
-
- provider = providers.Provider()
-
- provider.override(provider1)
- provider.override(provider2)
- provider.override(provider3)
-
- all_providers = list(providers.traverse(provider, types=[providers.Resource]))
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
-
-class ProviderTests(unittest.TestCase):
-
- def test_traversal_overriding(self):
- provider1 = providers.Provider()
- provider2 = providers.Provider()
- provider3 = providers.Provider()
-
- provider = providers.Provider()
-
- provider.override(provider1)
- provider.override(provider2)
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
- def test_traversal_overriding_nested(self):
- provider1 = providers.Provider()
-
- provider2 = providers.Provider()
- provider2.override(provider1)
-
- provider3 = providers.Provider()
- provider3.override(provider2)
-
- provider = providers.Provider()
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
- def test_traverse_types_filtering(self):
- provider1 = providers.Resource(dict)
- provider2 = providers.Resource(dict)
- provider3 = providers.Provider()
-
- provider = providers.Provider()
-
- provider.override(provider1)
- provider.override(provider2)
- provider.override(provider3)
-
- all_providers = list(provider.traverse(types=[providers.Resource]))
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
-
-class ObjectTests(unittest.TestCase):
-
- def test_traversal(self):
- provider = providers.Object('string')
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traversal_provider(self):
- another_provider = providers.Provider()
- provider = providers.Object(another_provider)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(another_provider, all_providers)
-
- def test_traversal_provider_and_overriding(self):
- another_provider_1 = providers.Provider()
- another_provider_2 = providers.Provider()
- another_provider_3 = providers.Provider()
-
- provider = providers.Object(another_provider_1)
-
- provider.override(another_provider_2)
- provider.override(another_provider_3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(another_provider_1, all_providers)
- self.assertIn(another_provider_2, all_providers)
- self.assertIn(another_provider_3, all_providers)
-
-
-class DelegateTests(unittest.TestCase):
-
- def test_traversal_provider(self):
- another_provider = providers.Provider()
- provider = providers.Delegate(another_provider)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(another_provider, all_providers)
-
- def test_traversal_provider_and_overriding(self):
- provider1 = providers.Provider()
- provider2 = providers.Provider()
-
- provider3 = providers.Provider()
- provider3.override(provider2)
-
- provider = providers.Delegate(provider1)
-
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class DependencyTests(unittest.TestCase):
-
- def test_traversal(self):
- provider = providers.Dependency()
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traversal_default(self):
- another_provider = providers.Provider()
- provider = providers.Dependency(default=another_provider)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(another_provider, all_providers)
-
- def test_traversal_overriding(self):
- provider1 = providers.Provider()
-
- provider2 = providers.Provider()
- provider2.override(provider1)
-
- provider = providers.Dependency()
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
-
-class DependenciesContainerTests(unittest.TestCase):
-
- def test_traversal(self):
- provider = providers.DependenciesContainer()
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traversal_default(self):
- another_provider = providers.Provider()
- provider = providers.DependenciesContainer(default=another_provider)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(another_provider, all_providers)
-
- def test_traversal_fluent_interface(self):
- provider = providers.DependenciesContainer()
- provider1 = provider.provider1
- provider2 = provider.provider2
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traversal_overriding(self):
- provider1 = providers.Provider()
- provider2 = providers.Provider()
- provider3 = providers.DependenciesContainer(
- provider1=provider1,
- provider2=provider2,
- )
-
- provider = providers.DependenciesContainer()
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 5)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
- self.assertIn(provider.provider1, all_providers)
- self.assertIn(provider.provider2, all_providers)
-
-
-class CallableTests(unittest.TestCase):
-
- def test_traverse(self):
- provider = providers.Callable(dict)
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traverse_args(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Callable(list, 'foo', provider1, provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_kwargs(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Callable(dict, foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
-
- provider = providers.Callable(dict, 'foo')
- provider.override(provider1)
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_provides(self):
- provider1 = providers.Callable(list)
- provider2 = providers.Object('bar')
- provider3 = providers.Object('baz')
-
- provider = providers.Callable(provider1, provider2)
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class ConfigurationTests(unittest.TestCase):
-
- def test_traverse(self):
- config = providers.Configuration(default={'option1': {'option2': 'option2'}})
- option1 = config.option1
- option2 = config.option1.option2
- option3 = config.option1[config.option1.option2]
-
- all_providers = list(config.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(option1, all_providers)
- self.assertIn(option2, all_providers)
- self.assertIn(option3, all_providers)
-
- def test_traverse_typed(self):
- config = providers.Configuration()
- option = config.option
- typed_option = config.option.as_int()
-
- all_providers = list(typed_option.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(option, all_providers)
-
- def test_traverse_overridden(self):
- options = {'option1': {'option2': 'option2'}}
- config = providers.Configuration()
- config.from_dict(options)
-
- all_providers = list(config.traverse())
-
- self.assertEqual(len(all_providers), 1)
- overridden, = all_providers
- self.assertEqual(overridden(), options)
- self.assertIs(overridden, config.last_overriding)
-
- def test_traverse_overridden_option_1(self):
- options = {'option2': 'option2'}
- config = providers.Configuration()
- config.option1.from_dict(options)
-
- all_providers = list(config.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(config.option1, all_providers)
- self.assertIn(config.last_overriding, all_providers)
-
- def test_traverse_overridden_option_2(self):
- options = {'option2': 'option2'}
- config = providers.Configuration()
- config.option1.from_dict(options)
-
- all_providers = list(config.option1.traverse())
-
- self.assertEqual(len(all_providers), 0)
-
-
-class FactoryTests(unittest.TestCase):
-
- def test_traverse(self):
- provider = providers.Factory(dict)
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traverse_args(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Factory(list, 'foo', provider1, provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_kwargs(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Factory(dict, foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_attributes(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Factory(dict)
- provider.add_attributes(foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
-
- provider = providers.Factory(dict, 'foo')
- provider.override(provider1)
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_provides(self):
- provider1 = providers.Callable(list)
- provider2 = providers.Object('bar')
- provider3 = providers.Object('baz')
-
- provider = providers.Factory(provider1, provider2)
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class FactoryAggregateTests(unittest.TestCase):
-
- def test_traverse(self):
- factory1 = providers.Factory(dict)
- factory2 = providers.Factory(list)
- provider = providers.FactoryAggregate(factory1=factory1, factory2=factory2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(factory1, all_providers)
- self.assertIn(factory2, all_providers)
-
-
-class BaseSingletonTests(unittest.TestCase):
-
- def test_traverse(self):
- provider = providers.Singleton(dict)
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traverse_args(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Singleton(list, 'foo', provider1, provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_kwargs(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Singleton(dict, foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_attributes(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Singleton(dict)
- provider.add_attributes(foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
-
- provider = providers.Singleton(dict, 'foo')
- provider.override(provider1)
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_provides(self):
- provider1 = providers.Callable(list)
- provider2 = providers.Object('bar')
- provider3 = providers.Object('baz')
-
- provider = providers.Singleton(provider1, provider2)
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class ListTests(unittest.TestCase):
-
- def test_traverse_args(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.List('foo', provider1, provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider3 = providers.List(provider1, provider2)
-
- provider = providers.List('foo')
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class DictTests(unittest.TestCase):
-
- def test_traverse_kwargs(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Dict(foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider3 = providers.Dict(bar=provider1, baz=provider2)
-
- provider = providers.Dict(foo='foo')
- provider.override(provider3)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provider3, all_providers)
-
-
-class ResourceTests(unittest.TestCase):
-
- def test_traverse(self):
- provider = providers.Resource(dict)
- all_providers = list(provider.traverse())
- self.assertEqual(len(all_providers), 0)
-
- def test_traverse_args(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Resource(list, 'foo', provider1, provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_kwargs(self):
- provider1 = providers.Object('bar')
- provider2 = providers.Object('baz')
- provider = providers.Resource(dict, foo='foo', bar=provider1, baz=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Resource(list)
- provider2 = providers.Resource(tuple)
-
- provider = providers.Resource(dict, 'foo')
- provider.override(provider1)
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_provides(self):
- provider1 = providers.Callable(list)
-
- provider = providers.Resource(provider1)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(provider1, all_providers)
-
-
-class ContainerTests(unittest.TestCase):
-
- def test_traverse(self):
- class Container(containers.DeclarativeContainer):
- provider1 = providers.Callable(list)
- provider2 = providers.Callable(dict)
-
- provider = providers.Container(Container)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertEqual(
- {provider.provides for provider in all_providers},
- {list, dict},
- )
-
- def test_traverse_overridden(self):
- class Container1(containers.DeclarativeContainer):
- provider1 = providers.Callable(list)
- provider2 = providers.Callable(dict)
-
- class Container2(containers.DeclarativeContainer):
- provider1 = providers.Callable(tuple)
- provider2 = providers.Callable(str)
-
- container2 = Container2()
-
- provider = providers.Container(Container1)
- provider.override(container2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 5)
- self.assertEqual(
- {
- provider.provides
- for provider in all_providers
- if isinstance(provider, providers.Callable)
- },
- {list, dict, tuple, str},
- )
- self.assertIn(provider.last_overriding, all_providers)
- self.assertIs(provider.last_overriding(), container2)
-
-
-class SelectorTests(unittest.TestCase):
-
- def test_traverse(self):
- switch = lambda: 'provider1'
- provider1 = providers.Callable(list)
- provider2 = providers.Callable(dict)
-
- provider = providers.Selector(
- switch,
- provider1=provider1,
- provider2=provider2,
- )
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_switch(self):
- switch = providers.Callable(lambda: 'provider1')
- provider1 = providers.Callable(list)
- provider2 = providers.Callable(dict)
-
- provider = providers.Selector(
- switch,
- provider1=provider1,
- provider2=provider2,
- )
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(switch, all_providers)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Callable(list)
- provider2 = providers.Callable(dict)
- selector1 = providers.Selector(lambda: 'provider1', provider1=provider1)
-
- provider = providers.Selector(
- lambda: 'provider2',
- provider2=provider2,
- )
- provider.override(selector1)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(selector1, all_providers)
-
-
-class ProvidedInstanceTests(unittest.TestCase):
-
- def test_traverse(self):
- provider1 = providers.Provider()
- provider = provider1.provided
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 1)
- self.assertIn(provider1, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Provider()
- provider2 = providers.Provider()
-
- provider = provider1.provided
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
-
-
-class AttributeGetterTests(unittest.TestCase):
-
- def test_traverse(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- provider = provided.attr
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provided, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- provider2 = providers.Provider()
-
- provider = provided.attr
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provided, all_providers)
-
-
-class ItemGetterTests(unittest.TestCase):
-
- def test_traverse(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- provider = provided['item']
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 2)
- self.assertIn(provider1, all_providers)
- self.assertIn(provided, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- provider2 = providers.Provider()
-
- provider = provided['item']
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provided, all_providers)
-
-
-class MethodCallerTests(unittest.TestCase):
-
- def test_traverse(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- method = provided.method
- provider = method.call()
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 3)
- self.assertIn(provider1, all_providers)
- self.assertIn(provided, all_providers)
- self.assertIn(method, all_providers)
-
- def test_traverse_args(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- method = provided.method
- provider2 = providers.Provider()
- provider = method.call('foo', provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 4)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provided, all_providers)
- self.assertIn(method, all_providers)
-
- def test_traverse_kwargs(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- method = provided.method
- provider2 = providers.Provider()
- provider = method.call(foo='foo', bar=provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 4)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provided, all_providers)
- self.assertIn(method, all_providers)
-
- def test_traverse_overridden(self):
- provider1 = providers.Provider()
- provided = provider1.provided
- method = provided.method
- provider2 = providers.Provider()
-
- provider = method.call()
- provider.override(provider2)
-
- all_providers = list(provider.traverse())
-
- self.assertEqual(len(all_providers), 4)
- self.assertIn(provider1, all_providers)
- self.assertIn(provider2, all_providers)
- self.assertIn(provided, all_providers)
- self.assertIn(method, all_providers)
diff --git a/tests/unit/providers/test_types_py36.py b/tests/unit/providers/test_types_py36.py
index acaabb2a..430a1857 100644
--- a/tests/unit/providers/test_types_py36.py
+++ b/tests/unit/providers/test_types_py36.py
@@ -1,4 +1,4 @@
-import unittest
+"""Provider typing in runtime tests."""
from dependency_injector import providers
@@ -7,9 +7,7 @@ class SomeClass:
...
-class TypesTest(unittest.TestCase):
-
- def test_provider(self):
- provider: providers.Provider[SomeClass] = providers.Factory(SomeClass)
- some_object = provider()
- self.assertIsInstance(some_object, SomeClass)
+def test_provider():
+ provider: providers.Provider[SomeClass] = providers.Factory(SomeClass)
+ some_object = provider()
+ assert isinstance(some_object, SomeClass)
diff --git a/tests/unit/providers/test_utils_py2_py3.py b/tests/unit/providers/test_utils_py2_py3.py
deleted file mode 100644
index 4cebd190..00000000
--- a/tests/unit/providers/test_utils_py2_py3.py
+++ /dev/null
@@ -1,56 +0,0 @@
-"""Dependency injector provider utils unit tests."""
-
-import unittest
-
-from dependency_injector import (
- providers,
- errors,
-)
-
-
-class IsProviderTests(unittest.TestCase):
-
- def test_with_instance(self):
- self.assertTrue(providers.is_provider(providers.Provider()))
-
- def test_with_class(self):
- self.assertFalse(providers.is_provider(providers.Provider))
-
- def test_with_string(self):
- self.assertFalse(providers.is_provider('some_string'))
-
- def test_with_object(self):
- self.assertFalse(providers.is_provider(object()))
-
- def test_with_subclass_instance(self):
- class SomeProvider(providers.Provider):
- pass
-
- self.assertTrue(providers.is_provider(SomeProvider()))
-
- def test_with_class_with_getattr(self):
- class SomeClass(object):
- def __getattr__(self, _):
- return False
-
- self.assertFalse(providers.is_provider(SomeClass()))
-
-
-class EnsureIsProviderTests(unittest.TestCase):
-
- def test_with_instance(self):
- provider = providers.Provider()
- self.assertIs(providers.ensure_is_provider(provider), provider)
-
- def test_with_class(self):
- self.assertRaises(errors.Error,
- providers.ensure_is_provider,
- providers.Provider)
-
- def test_with_string(self):
- self.assertRaises(errors.Error,
- providers.ensure_is_provider,
- 'some_string')
-
- def test_with_object(self):
- self.assertRaises(errors.Error, providers.ensure_is_provider, object())
diff --git a/tests/unit/providers/traversal/__init__.py b/tests/unit/providers/traversal/__init__.py
new file mode 100644
index 00000000..c95aa224
--- /dev/null
+++ b/tests/unit/providers/traversal/__init__.py
@@ -0,0 +1 @@
+"""Traversal tests."""
diff --git a/tests/unit/providers/traversal/test_attribute_getter_py3.py b/tests/unit/providers/traversal/test_attribute_getter_py3.py
new file mode 100644
index 00000000..27db8584
--- /dev/null
+++ b/tests/unit/providers/traversal/test_attribute_getter_py3.py
@@ -0,0 +1,31 @@
+"""AttributeGetter provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ provider = provided.attr
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provided in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ provider2 = providers.Provider()
+
+ provider = provided.attr
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provided in all_providers
diff --git a/tests/unit/providers/traversal/test_callable_py3.py b/tests/unit/providers/traversal/test_callable_py3.py
new file mode 100644
index 00000000..aebf603a
--- /dev/null
+++ b/tests/unit/providers/traversal/test_callable_py3.py
@@ -0,0 +1,64 @@
+"""Callable provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider = providers.Callable(dict)
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traverse_args():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Callable(list, "foo", provider1, provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Callable(dict, foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+
+ provider = providers.Callable(dict, "foo")
+ provider.override(provider1)
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_provides():
+ provider1 = providers.Callable(list)
+ provider2 = providers.Object("bar")
+ provider3 = providers.Object("baz")
+
+ provider = providers.Callable(provider1, provider2)
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_configuration_py3.py b/tests/unit/providers/traversal/test_configuration_py3.py
new file mode 100644
index 00000000..8b68f673
--- /dev/null
+++ b/tests/unit/providers/traversal/test_configuration_py3.py
@@ -0,0 +1,63 @@
+"""Configuration provider tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ config = providers.Configuration(default={"option1": {"option2": "option2"}})
+ option1 = config.option1
+ option2 = config.option1.option2
+ option3 = config.option1[config.option1.option2]
+
+ all_providers = list(config.traverse())
+
+ assert len(all_providers) == 3
+ assert option1 in all_providers
+ assert option2 in all_providers
+ assert option3 in all_providers
+
+
+def test_traverse_typed():
+ config = providers.Configuration()
+ option = config.option
+ typed_option = config.option.as_int()
+
+ all_providers = list(typed_option.traverse())
+
+ assert len(all_providers) == 1
+ assert option in all_providers
+
+
+def test_traverse_overridden():
+ options = {"option1": {"option2": "option2"}}
+ config = providers.Configuration()
+ config.from_dict(options)
+
+ all_providers = list(config.traverse())
+
+ assert len(all_providers) == 1
+ overridden, = all_providers
+ assert overridden() == options
+ assert overridden is config.last_overriding
+
+
+def test_traverse_overridden_option_1():
+ options = {"option2": "option2"}
+ config = providers.Configuration()
+ config.option1.from_dict(options)
+
+ all_providers = list(config.traverse())
+
+ assert len(all_providers) == 2
+ assert config.option1 in all_providers
+ assert config.last_overriding in all_providers
+
+
+def test_traverse_overridden_option_2():
+ options = {"option2": "option2"}
+ config = providers.Configuration()
+ config.option1.from_dict(options)
+
+ all_providers = list(config.option1.traverse())
+
+ assert len(all_providers) == 0
diff --git a/tests/unit/providers/traversal/test_container_py3.py b/tests/unit/providers/traversal/test_container_py3.py
new file mode 100644
index 00000000..ebc6cca6
--- /dev/null
+++ b/tests/unit/providers/traversal/test_container_py3.py
@@ -0,0 +1,42 @@
+"""Container provider traversal tests."""
+
+from dependency_injector import containers, providers
+
+
+def test_traverse():
+ class Container(containers.DeclarativeContainer):
+ provider1 = providers.Callable(list)
+ provider2 = providers.Callable(dict)
+
+ provider = providers.Container(Container)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert {list, dict} == {provider.provides for provider in all_providers}
+
+
+def test_traverse_overridden():
+ class Container1(containers.DeclarativeContainer):
+ provider1 = providers.Callable(list)
+ provider2 = providers.Callable(dict)
+
+ class Container2(containers.DeclarativeContainer):
+ provider1 = providers.Callable(tuple)
+ provider2 = providers.Callable(str)
+
+ container2 = Container2()
+
+ provider = providers.Container(Container1)
+ provider.override(container2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 5
+ assert {list, dict, tuple, str} == {
+ provider.provides
+ for provider in all_providers
+ if isinstance(provider, providers.Callable)
+ }
+ assert provider.last_overriding in all_providers
+ assert provider.last_overriding() is container2
diff --git a/tests/unit/providers/traversal/test_delegate_py3.py b/tests/unit/providers/traversal/test_delegate_py3.py
new file mode 100644
index 00000000..c251ec2f
--- /dev/null
+++ b/tests/unit/providers/traversal/test_delegate_py3.py
@@ -0,0 +1,32 @@
+"""Delegate provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traversal_provider():
+ another_provider = providers.Provider()
+ provider = providers.Delegate(another_provider)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert another_provider in all_providers
+
+
+def test_traversal_provider_and_overriding():
+ provider1 = providers.Provider()
+ provider2 = providers.Provider()
+
+ provider3 = providers.Provider()
+ provider3.override(provider2)
+
+ provider = providers.Delegate(provider1)
+
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_dependencies_container_py3.py b/tests/unit/providers/traversal/test_dependencies_container_py3.py
new file mode 100644
index 00000000..38d8b72a
--- /dev/null
+++ b/tests/unit/providers/traversal/test_dependencies_container_py3.py
@@ -0,0 +1,52 @@
+"""DependenciesContainer provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traversal():
+ provider = providers.DependenciesContainer()
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traversal_default():
+ another_provider = providers.Provider()
+ provider = providers.DependenciesContainer(default=another_provider)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert another_provider in all_providers
+
+
+def test_traversal_fluent_interface():
+ provider = providers.DependenciesContainer()
+ provider1 = provider.provider1
+ provider2 = provider.provider2
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traversal_overriding():
+ provider1 = providers.Provider()
+ provider2 = providers.Provider()
+ provider3 = providers.DependenciesContainer(
+ provider1=provider1,
+ provider2=provider2,
+ )
+
+ provider = providers.DependenciesContainer()
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 5
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
+ assert provider.provider1 in all_providers
+ assert provider.provider2 in all_providers
diff --git a/tests/unit/providers/traversal/test_dependency_py3.py b/tests/unit/providers/traversal/test_dependency_py3.py
new file mode 100644
index 00000000..4939a135
--- /dev/null
+++ b/tests/unit/providers/traversal/test_dependency_py3.py
@@ -0,0 +1,35 @@
+"""Dependency provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traversal():
+ provider = providers.Dependency()
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traversal_default():
+ another_provider = providers.Provider()
+ provider = providers.Dependency(default=another_provider)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert another_provider in all_providers
+
+
+def test_traversal_overriding():
+ provider1 = providers.Provider()
+
+ provider2 = providers.Provider()
+ provider2.override(provider1)
+
+ provider = providers.Dependency()
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
diff --git a/tests/unit/providers/traversal/test_dict_py3.py b/tests/unit/providers/traversal/test_dict_py3.py
new file mode 100644
index 00000000..9469d48f
--- /dev/null
+++ b/tests/unit/providers/traversal/test_dict_py3.py
@@ -0,0 +1,31 @@
+"""Dict provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Dict(foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider3 = providers.Dict(bar=provider1, baz=provider2)
+
+ provider = providers.Dict(foo="foo")
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_factory_aggregate_py3.py b/tests/unit/providers/traversal/test_factory_aggregate_py3.py
new file mode 100644
index 00000000..54bd8f6a
--- /dev/null
+++ b/tests/unit/providers/traversal/test_factory_aggregate_py3.py
@@ -0,0 +1,15 @@
+"""FactoryAggregate provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ factory1 = providers.Factory(dict)
+ factory2 = providers.Factory(list)
+ provider = providers.FactoryAggregate(factory1=factory1, factory2=factory2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert factory1 in all_providers
+ assert factory2 in all_providers
diff --git a/tests/unit/providers/traversal/test_factory_py3.py b/tests/unit/providers/traversal/test_factory_py3.py
new file mode 100644
index 00000000..57bdf25e
--- /dev/null
+++ b/tests/unit/providers/traversal/test_factory_py3.py
@@ -0,0 +1,77 @@
+"""Factory provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider = providers.Factory(dict)
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traverse_args():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Factory(list, "foo", provider1, provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Factory(dict, foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_attributes():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Factory(dict)
+ provider.add_attributes(foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+
+ provider = providers.Factory(dict, "foo")
+ provider.override(provider1)
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_provides():
+ provider1 = providers.Callable(list)
+ provider2 = providers.Object("bar")
+ provider3 = providers.Object("baz")
+
+ provider = providers.Factory(provider1, provider2)
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_item_getter_py3.py b/tests/unit/providers/traversal/test_item_getter_py3.py
new file mode 100644
index 00000000..5629b536
--- /dev/null
+++ b/tests/unit/providers/traversal/test_item_getter_py3.py
@@ -0,0 +1,31 @@
+"""ItemGetter provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ provider = provided["item"]
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provided in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ provider2 = providers.Provider()
+
+ provider = provided["item"]
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provided in all_providers
diff --git a/tests/unit/providers/traversal/test_list_py3.py b/tests/unit/providers/traversal/test_list_py3.py
new file mode 100644
index 00000000..da6b3b74
--- /dev/null
+++ b/tests/unit/providers/traversal/test_list_py3.py
@@ -0,0 +1,31 @@
+"""List provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse_args():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.List("foo", provider1, provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider3 = providers.List(provider1, provider2)
+
+ provider = providers.List("foo")
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_method_caller_py3.py b/tests/unit/providers/traversal/test_method_caller_py3.py
new file mode 100644
index 00000000..47bbfbab
--- /dev/null
+++ b/tests/unit/providers/traversal/test_method_caller_py3.py
@@ -0,0 +1,67 @@
+"""MethodCaller provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ method = provided.method
+ provider = method.call()
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provided in all_providers
+ assert method in all_providers
+
+
+def test_traverse_args():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ method = provided.method
+ provider2 = providers.Provider()
+ provider = method.call("foo", provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 4
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provided in all_providers
+ assert method in all_providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ method = provided.method
+ provider2 = providers.Provider()
+ provider = method.call(foo="foo", bar=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 4
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provided in all_providers
+ assert method in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Provider()
+ provided = provider1.provided
+ method = provided.method
+ provider2 = providers.Provider()
+
+ provider = method.call()
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 4
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provided in all_providers
+ assert method in all_providers
diff --git a/tests/unit/providers/traversal/test_object_py3.py b/tests/unit/providers/traversal/test_object_py3.py
new file mode 100644
index 00000000..6c55b93b
--- /dev/null
+++ b/tests/unit/providers/traversal/test_object_py3.py
@@ -0,0 +1,37 @@
+"""Object provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traversal():
+ provider = providers.Object("string")
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traversal_provider():
+ another_provider = providers.Provider()
+ provider = providers.Object(another_provider)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert another_provider in all_providers
+
+
+def test_traversal_provider_and_overriding():
+ another_provider_1 = providers.Provider()
+ another_provider_2 = providers.Provider()
+ another_provider_3 = providers.Provider()
+
+ provider = providers.Object(another_provider_1)
+
+ provider.override(another_provider_2)
+ provider.override(another_provider_3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert another_provider_1 in all_providers
+ assert another_provider_2 in all_providers
+ assert another_provider_3 in all_providers
diff --git a/tests/unit/providers/traversal/test_provided_instance_py3.py b/tests/unit/providers/traversal/test_provided_instance_py3.py
new file mode 100644
index 00000000..8e13dbf4
--- /dev/null
+++ b/tests/unit/providers/traversal/test_provided_instance_py3.py
@@ -0,0 +1,27 @@
+"""ProvidedInstance provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider1 = providers.Provider()
+ provider = provider1.provided
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert provider1 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Provider()
+ provider2 = providers.Provider()
+
+ provider = provider1.provided
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
diff --git a/tests/unit/providers/traversal/test_provider_py3.py b/tests/unit/providers/traversal/test_provider_py3.py
new file mode 100644
index 00000000..748709f9
--- /dev/null
+++ b/tests/unit/providers/traversal/test_provider_py3.py
@@ -0,0 +1,60 @@
+"""Provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traversal_overriding():
+ provider1 = providers.Provider()
+ provider2 = providers.Provider()
+ provider3 = providers.Provider()
+
+ provider = providers.Provider()
+
+ provider.override(provider1)
+ provider.override(provider2)
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
+
+
+def test_traversal_overriding_nested():
+ provider1 = providers.Provider()
+
+ provider2 = providers.Provider()
+ provider2.override(provider1)
+
+ provider3 = providers.Provider()
+ provider3.override(provider2)
+
+ provider = providers.Provider()
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
+
+
+def test_traverse_types_filtering():
+ provider1 = providers.Resource(dict)
+ provider2 = providers.Resource(dict)
+ provider3 = providers.Provider()
+
+ provider = providers.Provider()
+
+ provider.override(provider1)
+ provider.override(provider2)
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse(types=[providers.Resource]))
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
diff --git a/tests/unit/providers/traversal/test_resource_py3.py b/tests/unit/providers/traversal/test_resource_py3.py
new file mode 100644
index 00000000..b4a1179c
--- /dev/null
+++ b/tests/unit/providers/traversal/test_resource_py3.py
@@ -0,0 +1,60 @@
+"""Resource provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider = providers.Resource(dict)
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traverse_args():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Resource(list, "foo", provider1, provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Resource(dict, foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Resource(list)
+ provider2 = providers.Resource(tuple)
+
+ provider = providers.Resource(dict, "foo")
+ provider.override(provider1)
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_provides():
+ provider1 = providers.Callable(list)
+
+ provider = providers.Resource(provider1)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 1
+ assert provider1 in all_providers
+
diff --git a/tests/unit/providers/traversal/test_selector_py3.py b/tests/unit/providers/traversal/test_selector_py3.py
new file mode 100644
index 00000000..bd345076
--- /dev/null
+++ b/tests/unit/providers/traversal/test_selector_py3.py
@@ -0,0 +1,59 @@
+"""Selector provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ switch = lambda: "provider1"
+ provider1 = providers.Callable(list)
+ provider2 = providers.Callable(dict)
+
+ provider = providers.Selector(
+ switch,
+ provider1=provider1,
+ provider2=provider2,
+ )
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_switch():
+ switch = providers.Callable(lambda: "provider1")
+ provider1 = providers.Callable(list)
+ provider2 = providers.Callable(dict)
+
+ provider = providers.Selector(
+ switch,
+ provider1=provider1,
+ provider2=provider2,
+ )
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert switch in all_providers
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Callable(list)
+ provider2 = providers.Callable(dict)
+ selector1 = providers.Selector(lambda: "provider1", provider1=provider1)
+
+ provider = providers.Selector(
+ lambda: "provider2",
+ provider2=provider2,
+ )
+ provider.override(selector1)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert selector1 in all_providers
diff --git a/tests/unit/providers/traversal/test_singleton_py3.py b/tests/unit/providers/traversal/test_singleton_py3.py
new file mode 100644
index 00000000..78240732
--- /dev/null
+++ b/tests/unit/providers/traversal/test_singleton_py3.py
@@ -0,0 +1,77 @@
+"""Singleton provider traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse():
+ provider = providers.Singleton(dict)
+ all_providers = list(provider.traverse())
+ assert len(all_providers) == 0
+
+
+def test_traverse_args():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Singleton(list, "foo", provider1, provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_kwargs():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Singleton(dict, foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_attributes():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+ provider = providers.Singleton(dict)
+ provider.add_attributes(foo="foo", bar=provider1, baz=provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_overridden():
+ provider1 = providers.Object("bar")
+ provider2 = providers.Object("baz")
+
+ provider = providers.Singleton(dict, "foo")
+ provider.override(provider1)
+ provider.override(provider2)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+
+
+def test_traverse_provides():
+ provider1 = providers.Callable(list)
+ provider2 = providers.Object("bar")
+ provider3 = providers.Object("baz")
+
+ provider = providers.Singleton(provider1, provider2)
+ provider.override(provider3)
+
+ all_providers = list(provider.traverse())
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
diff --git a/tests/unit/providers/traversal/test_traverse_py3.py b/tests/unit/providers/traversal/test_traverse_py3.py
new file mode 100644
index 00000000..01797b4a
--- /dev/null
+++ b/tests/unit/providers/traversal/test_traverse_py3.py
@@ -0,0 +1,40 @@
+"""Provider's traversal tests."""
+
+from dependency_injector import providers
+
+
+def test_traverse_cycled_graph():
+ provider1 = providers.Provider()
+
+ provider2 = providers.Provider()
+ provider2.override(provider1)
+
+ provider3 = providers.Provider()
+ provider3.override(provider2)
+
+ provider1.override(provider3) # Cycle: provider3 -> provider2 -> provider1 -> provider3
+
+ all_providers = list(providers.traverse(provider1))
+
+ assert len(all_providers) == 3
+ assert provider1 in all_providers
+ assert provider2 in all_providers
+ assert provider3 in all_providers
+
+
+def test_traverse_types_filtering():
+ provider1 = providers.Resource(dict)
+ provider2 = providers.Resource(dict)
+ provider3 = providers.Provider()
+
+ provider = providers.Provider()
+
+ provider.override(provider1)
+ provider.override(provider2)
+ provider.override(provider3)
+
+ all_providers = list(providers.traverse(provider, types=[providers.Resource]))
+
+ assert len(all_providers) == 2
+ assert provider1 in all_providers
+ assert provider2 in all_providers
diff --git a/tests/unit/providers/utils/__init__.py b/tests/unit/providers/utils/__init__.py
new file mode 100644
index 00000000..1c2f9686
--- /dev/null
+++ b/tests/unit/providers/utils/__init__.py
@@ -0,0 +1 @@
+"""Provider utils tests."""
diff --git a/tests/unit/providers/utils/test_ensure_is_provider_py2_py3.py b/tests/unit/providers/utils/test_ensure_is_provider_py2_py3.py
new file mode 100644
index 00000000..cbb38fda
--- /dev/null
+++ b/tests/unit/providers/utils/test_ensure_is_provider_py2_py3.py
@@ -0,0 +1,24 @@
+"""Provider utils tests."""
+
+from dependency_injector import providers, errors
+from pytest import raises
+
+
+def test_with_instance():
+ provider = providers.Provider()
+ assert providers.ensure_is_provider(provider), provider
+
+
+def test_with_class():
+ with raises(errors.Error):
+ providers.ensure_is_provider(providers.Provider)
+
+
+def test_with_string():
+ with raises(errors.Error):
+ providers.ensure_is_provider("some_string")
+
+
+def test_with_object():
+ with raises(errors.Error):
+ providers.ensure_is_provider(object())
diff --git a/tests/unit/providers/utils/test_is_provider_py2_py3.py b/tests/unit/providers/utils/test_is_provider_py2_py3.py
new file mode 100644
index 00000000..5e9e537e
--- /dev/null
+++ b/tests/unit/providers/utils/test_is_provider_py2_py3.py
@@ -0,0 +1,34 @@
+"""Provider utils tests."""
+
+from dependency_injector import providers
+
+
+def test_with_instance():
+ assert providers.is_provider(providers.Provider()) is True
+
+
+def test_with_class():
+ assert providers.is_provider(providers.Provider) is False
+
+
+def test_with_string():
+ assert providers.is_provider("some_string") is False
+
+
+def test_with_object():
+ assert providers.is_provider(object()) is False
+
+
+def test_with_subclass_instance():
+ class SomeProvider(providers.Provider):
+ pass
+
+ assert providers.is_provider(SomeProvider()) is True
+
+
+def test_with_class_with_getattr():
+ class SomeClass(object):
+ def __getattr__(self, _):
+ return False
+
+ assert providers.is_provider(SomeClass()) is False
diff --git a/tests/unit/samples/__init__.py b/tests/unit/samples/__init__.py
new file mode 100644
index 00000000..b7aba378
--- /dev/null
+++ b/tests/unit/samples/__init__.py
@@ -0,0 +1 @@
+"""Sample code for testing."""
diff --git a/tests/unit/samples/schemasample/__init__.py b/tests/unit/samples/schema/__init__.py
similarity index 100%
rename from tests/unit/samples/schemasample/__init__.py
rename to tests/unit/samples/schema/__init__.py
diff --git a/tests/unit/samples/schemasample/container-boto3-session.yml b/tests/unit/samples/schema/container-boto3-session.yml
similarity index 100%
rename from tests/unit/samples/schemasample/container-boto3-session.yml
rename to tests/unit/samples/schema/container-boto3-session.yml
diff --git a/tests/unit/samples/schemasample/container-multiple-inline.yml b/tests/unit/samples/schema/container-multiple-inline.yml
similarity index 75%
rename from tests/unit/samples/schemasample/container-multiple-inline.yml
rename to tests/unit/samples/schema/container-multiple-inline.yml
index a089508f..f5394a2d 100644
--- a/tests/unit/samples/schemasample/container-multiple-inline.yml
+++ b/tests/unit/samples/schema/container-multiple-inline.yml
@@ -12,7 +12,7 @@ container:
provides: sqlite3.connect
args:
- provider: Callable
- provides: schemasample.utils.return_
+ provides: samples.schema.utils.return_
args:
- container.core.config.database.dsn
@@ -27,32 +27,32 @@ container:
services:
user:
provider: Factory
- provides: schemasample.services.UserService
+ provides: samples.schema.services.UserService
kwargs:
db:
provider: Callable
- provides: schemasample.utils.return_
+ provides: samples.schema.utils.return_
args:
- container.gateways.database_client
auth:
provider: Factory
- provides: schemasample.services.AuthService
+ provides: samples.schema.services.AuthService
kwargs:
db:
provider: Callable
- provides: schemasample.utils.return_
+ provides: samples.schema.utils.return_
args:
- container.gateways.database_client
token_ttl: container.core.config.auth.token_ttl.as_int()
photo:
provider: Factory
- provides: schemasample.services.PhotoService
+ provides: samples.schema.services.PhotoService
kwargs:
db:
provider: Callable
- provides: schemasample.utils.return_
+ provides: samples.schema.utils.return_
args:
- container.gateways.database_client
s3: container.gateways.s3_client
diff --git a/tests/unit/samples/schemasample/container-multiple-reordered.yml b/tests/unit/samples/schema/container-multiple-reordered.yml
similarity index 84%
rename from tests/unit/samples/schemasample/container-multiple-reordered.yml
rename to tests/unit/samples/schema/container-multiple-reordered.yml
index 245c4f37..499cf0a2 100644
--- a/tests/unit/samples/schemasample/container-multiple-reordered.yml
+++ b/tests/unit/samples/schema/container-multiple-reordered.yml
@@ -5,20 +5,20 @@ container:
services:
user:
provider: Factory
- provides: schemasample.services.UserService
+ provides: samples.schema.services.UserService
kwargs:
db: container.gateways.database_client
auth:
provider: Factory
- provides: schemasample.services.AuthService
+ provides: samples.schema.services.AuthService
kwargs:
db: container.gateways.database_client
token_ttl: container.core.config.auth.token_ttl.as_int()
photo:
provider: Factory
- provides: schemasample.services.PhotoService
+ provides: samples.schema.services.PhotoService
kwargs:
db: container.gateways.database_client
s3: container.gateways.s3_client
diff --git a/tests/unit/samples/schemasample/container-multiple.yml b/tests/unit/samples/schema/container-multiple.yml
similarity index 84%
rename from tests/unit/samples/schemasample/container-multiple.yml
rename to tests/unit/samples/schema/container-multiple.yml
index 03a5221a..e7dc40aa 100644
--- a/tests/unit/samples/schemasample/container-multiple.yml
+++ b/tests/unit/samples/schema/container-multiple.yml
@@ -24,20 +24,20 @@ container:
services:
user:
provider: Factory
- provides: schemasample.services.UserService
+ provides: samples.schema.services.UserService
kwargs:
db: container.gateways.database_client
auth:
provider: Factory
- provides: schemasample.services.AuthService
+ provides: samples.schema.services.AuthService
kwargs:
db: container.gateways.database_client
token_ttl: container.core.config.auth.token_ttl.as_int()
photo:
provider: Factory
- provides: schemasample.services.PhotoService
+ provides: samples.schema.services.PhotoService
kwargs:
db: container.gateways.database_client
s3: container.gateways.s3_client
diff --git a/tests/unit/samples/schemasample/container-single.yml b/tests/unit/samples/schema/container-single.yml
similarity index 83%
rename from tests/unit/samples/schemasample/container-single.yml
rename to tests/unit/samples/schema/container-single.yml
index ad732992..553ab4b0 100644
--- a/tests/unit/samples/schemasample/container-single.yml
+++ b/tests/unit/samples/schema/container-single.yml
@@ -20,20 +20,20 @@ container:
user_service:
provider: Factory
- provides: schemasample.services.UserService
+ provides: samples.schema.services.UserService
kwargs:
db: container.database_client
auth_service:
provider: Factory
- provides: schemasample.services.AuthService
+ provides: samples.schema.services.AuthService
kwargs:
db: container.database_client
token_ttl: container.config.auth.token_ttl.as_int()
photo_service:
provider: Factory
- provides: schemasample.services.PhotoService
+ provides: samples.schema.services.PhotoService
kwargs:
db: container.database_client
s3: container.s3_client
diff --git a/tests/unit/samples/schemasample/services.py b/tests/unit/samples/schema/services.py
similarity index 75%
rename from tests/unit/samples/schemasample/services.py
rename to tests/unit/samples/schema/services.py
index 338888e3..7f2013c3 100644
--- a/tests/unit/samples/schemasample/services.py
+++ b/tests/unit/samples/schema/services.py
@@ -11,7 +11,7 @@ class BaseService:
def __init__(self) -> None:
self.logger = logging.getLogger(
- f'{__name__}.{self.__class__.__name__}',
+ f"{__name__}.{self.__class__.__name__}",
)
@@ -22,8 +22,8 @@ class UserService(BaseService):
super().__init__()
def get_user(self, email: str) -> Dict[str, str]:
- self.logger.debug('User %s has been found in database', email)
- return {'email': email, 'password_hash': '...'}
+ self.logger.debug("User %s has been found in database", email)
+ return {"email": email, "password_hash": "..."}
class AuthService(BaseService):
@@ -36,8 +36,8 @@ class AuthService(BaseService):
def authenticate(self, user: Dict[str, str], password: str) -> None:
assert password is not None
self.logger.debug(
- 'User %s has been successfully authenticated',
- user['email'],
+ "User %s has been successfully authenticated",
+ user["email"],
)
@@ -50,7 +50,7 @@ class PhotoService(BaseService):
def upload_photo(self, user: Dict[str, str], photo_path: str) -> None:
self.logger.debug(
- 'Photo %s has been successfully uploaded by user %s',
+ "Photo %s has been successfully uploaded by user %s",
photo_path,
- user['email'],
+ user["email"],
)
diff --git a/tests/unit/samples/schemasample/utils.py b/tests/unit/samples/schema/utils.py
similarity index 100%
rename from tests/unit/samples/schemasample/utils.py
rename to tests/unit/samples/schema/utils.py
diff --git a/tests/unit/samples/wiringsamples/__init__.py b/tests/unit/samples/wiring/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/__init__.py
rename to tests/unit/samples/wiring/__init__.py
diff --git a/tests/unit/samples/wiringsamples/asyncinjections.py b/tests/unit/samples/wiring/asyncinjections.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/asyncinjections.py
rename to tests/unit/samples/wiring/asyncinjections.py
diff --git a/tests/unit/samples/wiringsamples/container.py b/tests/unit/samples/wiring/container.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/container.py
rename to tests/unit/samples/wiring/container.py
diff --git a/tests/unit/samples/wiringsamples/imports.py b/tests/unit/samples/wiring/imports.py
similarity index 85%
rename from tests/unit/samples/wiringsamples/imports.py
rename to tests/unit/samples/wiring/imports.py
index 243c9117..37fa8ebe 100644
--- a/tests/unit/samples/wiringsamples/imports.py
+++ b/tests/unit/samples/wiring/imports.py
@@ -2,7 +2,7 @@
import sys
-if 'pypy' not in sys.version.lower():
+if "pypy" not in sys.version.lower():
import numpy # noqa
from numpy import * # noqa
diff --git a/tests/unit/samples/wiringsamples/module.py b/tests/unit/samples/wiring/module.py
similarity index 99%
rename from tests/unit/samples/wiringsamples/module.py
rename to tests/unit/samples/wiring/module.py
index e1ccc112..3925b295 100644
--- a/tests/unit/samples/wiringsamples/module.py
+++ b/tests/unit/samples/wiring/module.py
@@ -96,7 +96,7 @@ def test_provider_provider(service_provider: Callable[..., Service] = Provider[C
@inject
-def test_provided_instance(some_value: int = Provide[Container.service.provided.foo['bar'].call()]):
+def test_provided_instance(some_value: int = Provide[Container.service.provided.foo["bar"].call()]):
return some_value
diff --git a/tests/unit/samples/wiringsamples/module_invalid_attr_injection.py b/tests/unit/samples/wiring/module_invalid_attr_injection.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/module_invalid_attr_injection.py
rename to tests/unit/samples/wiring/module_invalid_attr_injection.py
diff --git a/tests/unit/samples/wiringsamples/package/__init__.py b/tests/unit/samples/wiring/package/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/package/__init__.py
rename to tests/unit/samples/wiring/package/__init__.py
diff --git a/tests/unit/samples/wiringsamples/package/subpackage/__init__.py b/tests/unit/samples/wiring/package/subpackage/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/package/subpackage/__init__.py
rename to tests/unit/samples/wiring/package/subpackage/__init__.py
diff --git a/tests/unit/samples/wiringsamples/package/subpackage/submodule.py b/tests/unit/samples/wiring/package/subpackage/submodule.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/package/subpackage/submodule.py
rename to tests/unit/samples/wiring/package/subpackage/submodule.py
diff --git a/tests/unit/samples/wiringsamples/queuemodule.py b/tests/unit/samples/wiring/queuemodule.py
similarity index 83%
rename from tests/unit/samples/wiringsamples/queuemodule.py
rename to tests/unit/samples/wiring/queuemodule.py
index 5849a7bd..6cdfb1b2 100644
--- a/tests/unit/samples/wiringsamples/queuemodule.py
+++ b/tests/unit/samples/wiring/queuemodule.py
@@ -2,4 +2,4 @@
from queue import Queue
-__all__ = ('Queue',)
+__all__ = ("Queue",)
diff --git a/tests/unit/samples/wiringsamples/resourceclosing.py b/tests/unit/samples/wiring/resourceclosing.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/resourceclosing.py
rename to tests/unit/samples/wiring/resourceclosing.py
diff --git a/tests/unit/samples/wiringsamples/service.py b/tests/unit/samples/wiring/service.py
similarity index 100%
rename from tests/unit/samples/wiringsamples/service.py
rename to tests/unit/samples/wiring/service.py
diff --git a/tests/unit/samples/wiring/wire_relative_string_names.py b/tests/unit/samples/wiring/wire_relative_string_names.py
new file mode 100644
index 00000000..e9f11b0f
--- /dev/null
+++ b/tests/unit/samples/wiring/wire_relative_string_names.py
@@ -0,0 +1,8 @@
+"""Wiring sample package."""
+
+
+def wire_with_relative_string_names(container):
+ container.wire(
+ modules=[".module"],
+ packages=[".package"],
+ )
diff --git a/tests/unit/samples/wiringfastapi/web.py b/tests/unit/samples/wiringfastapi/web.py
index 2cbd4f50..3cee5450 100644
--- a/tests/unit/samples/wiringfastapi/web.py
+++ b/tests/unit/samples/wiringfastapi/web.py
@@ -9,7 +9,7 @@ from dependency_injector.wiring import inject, Provide
class Service:
async def process(self) -> str:
- return 'Ok'
+ return "Ok"
class Container(containers.DeclarativeContainer):
@@ -21,19 +21,19 @@ app = FastAPI()
security = HTTPBasic()
-@app.api_route('/')
+@app.api_route("/")
@inject
async def index(service: Service = Depends(Provide[Container.service])):
result = await service.process()
- return {'result': result}
+ return {"result": result}
-@app.get('/auth')
+@app.get("/auth")
@inject
def read_current_user(
credentials: HTTPBasicCredentials = Depends(security)
):
- return {'username': credentials.username, 'password': credentials.password}
+ return {"username": credentials.username, "password": credentials.password}
container = Container()
diff --git a/tests/unit/samples/wiringflask/web.py b/tests/unit/samples/wiringflask/web.py
index 59b5d004..37fbd5e0 100644
--- a/tests/unit/samples/wiringflask/web.py
+++ b/tests/unit/samples/wiringflask/web.py
@@ -1,5 +1,3 @@
-import sys
-
from flask import Flask, jsonify, request, current_app, session, g
from flask import _request_ctx_stack, _app_ctx_stack
from dependency_injector import containers, providers
@@ -12,7 +10,7 @@ _request_ctx_stack, _app_ctx_stack # noqa
class Service:
def process(self) -> str:
- return 'Ok'
+ return "OK"
class Container(containers.DeclarativeContainer):
@@ -23,12 +21,12 @@ class Container(containers.DeclarativeContainer):
app = Flask(__name__)
-@app.route('/')
+@app.route("/")
@inject
def index(service: Service = Provide[Container.service]):
result = service.process()
- return jsonify({'result': result})
+ return jsonify({"result": result})
container = Container()
-container.wire(modules=[sys.modules[__name__]])
+container.wire(modules=[__name__])
diff --git a/tests/unit/samples/wiringstringidssamples/__init__.py b/tests/unit/samples/wiringstringids/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringstringidssamples/__init__.py
rename to tests/unit/samples/wiringstringids/__init__.py
diff --git a/tests/unit/samples/wiringstringidssamples/asyncinjections.py b/tests/unit/samples/wiringstringids/asyncinjections.py
similarity index 81%
rename from tests/unit/samples/wiringstringidssamples/asyncinjections.py
rename to tests/unit/samples/wiringstringids/asyncinjections.py
index 6ea88eb2..41529379 100644
--- a/tests/unit/samples/wiringstringidssamples/asyncinjections.py
+++ b/tests/unit/samples/wiringstringids/asyncinjections.py
@@ -36,15 +36,15 @@ class Container(containers.DeclarativeContainer):
@inject
async def async_injection(
- resource1: object = Provide['resource1'],
- resource2: object = Provide['resource2'],
+ resource1: object = Provide["resource1"],
+ resource2: object = Provide["resource2"],
):
return resource1, resource2
@inject
async def async_injection_with_closing(
- resource1: object = Closing[Provide['resource1']],
- resource2: object = Closing[Provide['resource2']],
+ resource1: object = Closing[Provide["resource1"]],
+ resource2: object = Closing[Provide["resource2"]],
):
return resource1, resource2
diff --git a/tests/unit/samples/wiringstringidssamples/container.py b/tests/unit/samples/wiringstringids/container.py
similarity index 100%
rename from tests/unit/samples/wiringstringidssamples/container.py
rename to tests/unit/samples/wiringstringids/container.py
diff --git a/tests/unit/samples/wiringstringids/module.py b/tests/unit/samples/wiringstringids/module.py
new file mode 100644
index 00000000..aac85aa8
--- /dev/null
+++ b/tests/unit/samples/wiringstringids/module.py
@@ -0,0 +1,145 @@
+"""Test module for wiring."""
+
+from decimal import Decimal
+from typing import Callable
+
+from dependency_injector.wiring import (
+ inject,
+ Provide,
+ Provider,
+ as_int,
+ as_float,
+ as_,
+ required,
+ invariant,
+ provided,
+)
+
+from .container import Container
+from .service import Service
+
+
+service: Service = Provide["service"]
+service_provider: Callable[..., Service] = Provider["service"]
+undefined: Callable = Provide["undefined"]
+
+
+class TestClass:
+
+ service: Service = Provide["service"]
+ service_provider: Callable[..., Service] = Provider["service"]
+ undefined: Callable = Provide["undefined"]
+
+ @inject
+ def __init__(self, service: Service = Provide["service"]):
+ self.service = service
+
+ @inject
+ def method(self, service: Service = Provide["service"]):
+ return service
+
+ @classmethod
+ @inject
+ def class_method(cls, service: Service = Provide["service"]):
+ return service
+
+ @staticmethod
+ @inject
+ def static_method(service: Service = Provide["service"]):
+ return service
+
+
+@inject
+def test_function(service: Service = Provide["service"]):
+ return service
+
+
+@inject
+def test_function_provider(service_provider: Callable[..., Service] = Provider["service"]):
+ service = service_provider()
+ return service
+
+
+@inject
+def test_config_value(
+ value_int: int = Provide["config.a.b.c", as_int()],
+ value_float: float = Provide["config.a.b.c", as_float()],
+ value_str: str = Provide["config.a.b.c", as_(str)],
+ value_decimal: Decimal = Provide["config.a.b.c", as_(Decimal)],
+ value_required: str = Provide["config.a.b.c", required()],
+ value_required_int: int = Provide["config.a.b.c", required().as_int()],
+ value_required_float: float = Provide["config.a.b.c", required().as_float()],
+ value_required_str: str = Provide["config.a.b.c", required().as_(str)],
+ value_required_decimal: str = Provide["config.a.b.c", required().as_(Decimal)],
+):
+ return (
+ value_int,
+ value_float,
+ value_str,
+ value_decimal,
+ value_required,
+ value_required_int,
+ value_required_float,
+ value_required_str,
+ value_required_decimal,
+ )
+
+
+@inject
+def test_config_value_required_undefined(
+ value_required: int = Provide["config.a.b.c", required()],
+):
+ return value_required
+
+
+@inject
+def test_provide_provider(service_provider: Callable[..., Service] = Provide["service.provider"]):
+ service = service_provider()
+ return service
+
+
+@inject
+def test_provider_provider(service_provider: Callable[..., Service] = Provider["service.provider"]):
+ service = service_provider()
+ return service
+
+
+@inject
+def test_provided_instance(some_value: int = Provide["service", provided().foo["bar"].call()]):
+ return some_value
+
+
+@inject
+def test_subcontainer_provider(some_value: int = Provide["sub.int_object"]):
+ return some_value
+
+
+@inject
+def test_config_invariant(some_value: int = Provide["config.option", invariant("config.switch")]):
+ return some_value
+
+
+@inject
+def test_provide_from_different_containers(
+ service: Service = Provide["service"],
+ some_value: int = Provide["int_object"],
+):
+ return service, some_value
+
+
+class ClassDecorator:
+ def __init__(self, fn):
+ self._fn = fn
+
+ def __call__(self, *args, **kwargs):
+ return self._fn(*args, **kwargs)
+
+
+@ClassDecorator
+@inject
+def test_class_decorator(service: Service = Provide["service"]):
+ return service
+
+
+def test_container(container: Container = Provide[""]):
+ return container.service()
diff --git a/tests/unit/samples/wiringstringids/module_invalid_attr_injection.py b/tests/unit/samples/wiringstringids/module_invalid_attr_injection.py
new file mode 100644
index 00000000..78b407f7
--- /dev/null
+++ b/tests/unit/samples/wiringstringids/module_invalid_attr_injection.py
@@ -0,0 +1,6 @@
+"""Test module for wiring with invalid type of marker for attribute injection."""
+
+from dependency_injector.wiring import Closing
+
+
+service = Closing["service"]
diff --git a/tests/unit/samples/wiringstringidssamples/package/__init__.py b/tests/unit/samples/wiringstringids/package/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringstringidssamples/package/__init__.py
rename to tests/unit/samples/wiringstringids/package/__init__.py
diff --git a/tests/unit/samples/wiringstringidssamples/package/subpackage/__init__.py b/tests/unit/samples/wiringstringids/package/subpackage/__init__.py
similarity index 100%
rename from tests/unit/samples/wiringstringidssamples/package/subpackage/__init__.py
rename to tests/unit/samples/wiringstringids/package/subpackage/__init__.py
diff --git a/tests/unit/samples/wiringstringidssamples/package/subpackage/submodule.py b/tests/unit/samples/wiringstringids/package/subpackage/submodule.py
similarity index 66%
rename from tests/unit/samples/wiringstringidssamples/package/subpackage/submodule.py
rename to tests/unit/samples/wiringstringids/package/subpackage/submodule.py
index 5723eb4a..6e9fa936 100644
--- a/tests/unit/samples/wiringstringidssamples/package/subpackage/submodule.py
+++ b/tests/unit/samples/wiringstringids/package/subpackage/submodule.py
@@ -4,5 +4,5 @@ from ...service import Service
@inject
-def test_function(service: Service = Provide['service']):
+def test_function(service: Service = Provide["service"]):
return service
diff --git a/tests/unit/samples/wiringstringidssamples/resourceclosing.py b/tests/unit/samples/wiringstringids/resourceclosing.py
similarity index 91%
rename from tests/unit/samples/wiringstringidssamples/resourceclosing.py
rename to tests/unit/samples/wiringstringids/resourceclosing.py
index b8984665..2faf0efd 100644
--- a/tests/unit/samples/wiringstringidssamples/resourceclosing.py
+++ b/tests/unit/samples/wiringstringids/resourceclosing.py
@@ -33,5 +33,5 @@ class Container(containers.DeclarativeContainer):
@inject
-def test_function(service: Service = Closing[Provide['service']]):
+def test_function(service: Service = Closing[Provide["service"]]):
return service
diff --git a/tests/unit/samples/wiringstringidssamples/service.py b/tests/unit/samples/wiringstringids/service.py
similarity index 100%
rename from tests/unit/samples/wiringstringidssamples/service.py
rename to tests/unit/samples/wiringstringids/service.py
diff --git a/tests/unit/samples/wiringstringidssamples/module.py b/tests/unit/samples/wiringstringidssamples/module.py
deleted file mode 100644
index e56b7892..00000000
--- a/tests/unit/samples/wiringstringidssamples/module.py
+++ /dev/null
@@ -1,139 +0,0 @@
-"""Test module for wiring."""
-
-from decimal import Decimal
-from typing import Callable
-
-from dependency_injector.wiring import (
- inject,
- Provide,
- Provider,
- as_int,
- as_float,
- as_,
- required,
- invariant,
- provided,
-)
-
-from .container import Container
-from .service import Service
-
-
-service: Service = Provide['service']
-service_provider: Callable[..., Service] = Provider['service']
-undefined: Callable = Provide['undefined']
-
-
-class TestClass:
-
- service: Service = Provide['service']
- service_provider: Callable[..., Service] = Provider['service']
- undefined: Callable = Provide['undefined']
-
- @inject
- def __init__(self, service: Service = Provide['service']):
- self.service = service
-
- @inject
- def method(self, service: Service = Provide['service']):
- return service
-
- @classmethod
- @inject
- def class_method(cls, service: Service = Provide['service']):
- return service
-
- @staticmethod
- @inject
- def static_method(service: Service = Provide['service']):
- return service
-
-
-@inject
-def test_function(service: Service = Provide['service']):
- return service
-
-
-@inject
-def test_function_provider(service_provider: Callable[..., Service] = Provider['service']):
- service = service_provider()
- return service
-
-
-@inject
-def test_config_value(
- value_int: int = Provide['config.a.b.c', as_int()],
- value_float: float = Provide['config.a.b.c', as_float()],
- value_str: str = Provide['config.a.b.c', as_(str)],
- value_decimal: Decimal = Provide['config.a.b.c', as_(Decimal)],
- value_required: str = Provide['config.a.b.c', required()],
- value_required_int: int = Provide['config.a.b.c', required().as_int()],
- value_required_float: float = Provide['config.a.b.c', required().as_float()],
- value_required_str: str = Provide['config.a.b.c', required().as_(str)],
- value_required_decimal: str = Provide['config.a.b.c', required().as_(Decimal)],
-):
- return (
- value_int,
- value_float,
- value_str,
- value_decimal,
- value_required,
- value_required_int,
- value_required_float,
- value_required_str,
- value_required_decimal,
- )
-
-
-@inject
-def test_config_value_required_undefined(
- value_required: int = Provide['config.a.b.c', required()],
-):
- return value_required
-
-
-@inject
-def test_provide_provider(service_provider: Callable[..., Service] = Provide['service.provider']):
- service = service_provider()
- return service
-
-
-@inject
-def test_provided_instance(some_value: int = Provide['service', provided().foo['bar'].call()]):
- return some_value
-
-
-@inject
-def test_subcontainer_provider(some_value: int = Provide['sub.int_object']):
- return some_value
-
-
-@inject
-def test_config_invariant(some_value: int = Provide['config.option', invariant('config.switch')]):
- return some_value
-
-
-@inject
-def test_provide_from_different_containers(
- service: Service = Provide['service'],
- some_value: int = Provide['int_object'],
-):
- return service, some_value
-
-
-class ClassDecorator:
- def __init__(self, fn):
- self._fn = fn
-
- def __call__(self, *args, **kwargs):
- return self._fn(*args, **kwargs)
-
-
-@ClassDecorator
-@inject
-def test_class_decorator(service: Service = Provide['service']):
- return service
-
-
-def test_container(container: Container = Provide['']):
- return container.service()
diff --git a/tests/unit/schema/conftest.py b/tests/unit/schema/conftest.py
new file mode 100644
index 00000000..fe0a8a30
--- /dev/null
+++ b/tests/unit/schema/conftest.py
@@ -0,0 +1,9 @@
+"""Container schema fixtures."""
+
+from dependency_injector import containers
+from pytest import fixture
+
+
+@fixture
+def container():
+ return containers.DynamicContainer()
diff --git a/tests/unit/schema/test_container_api_py36.py b/tests/unit/schema/test_container_api_py36.py
new file mode 100644
index 00000000..b8bc3a0a
--- /dev/null
+++ b/tests/unit/schema/test_container_api_py36.py
@@ -0,0 +1,145 @@
+"""Container API tests for building container from schema."""
+
+import contextlib
+import json
+import pathlib
+import re
+
+import yaml
+from dependency_injector import containers, providers, errors
+from pytest import raises
+
+
+def test_from_schema(container: containers.DynamicContainer):
+ container.from_schema(
+ {
+ "version": "1",
+ "container": {
+ "provider1": {
+ "provider": "Factory",
+ "provides": "list",
+ "args": [1, 2, 3],
+ },
+ "provider2": {
+ "provider": "Factory",
+ "provides": "dict",
+ "kwargs": {
+ "one": "container.provider1",
+ "two": 2,
+ },
+ },
+ },
+ },
+ )
+
+ assert isinstance(container.provider1, providers.Factory)
+ assert container.provider1.provides is list
+ assert container.provider1.args == (1, 2, 3)
+
+ assert isinstance(container.provider2, providers.Factory)
+ assert container.provider2.provides is dict
+ assert container.provider2.kwargs == {"one": container.provider1, "two": 2}
+
+
+def test_from_yaml_schema(container: containers.DynamicContainer, tmp_path: pathlib.Path):
+ schema_path = tmp_path / "schema.yml"
+ with open(schema_path, "w") as file:
+ file.write("""
+ version: "1"
+ container:
+ provider1:
+ provider: Factory
+ provides: list
+ args:
+ - 1
+ - 2
+ - 3
+ provider2:
+ provider: Factory
+ provides: dict
+ kwargs:
+ one: container.provider1
+ two: 2
+ """)
+ container.from_yaml_schema(schema_path)
+
+ assert isinstance(container.provider1, providers.Factory)
+ assert container.provider1.provides == list
+ assert container.provider1.args == (1, 2, 3)
+
+ assert isinstance(container.provider2, providers.Factory)
+ assert container.provider2.provides is dict
+ assert container.provider2.kwargs == {"one": container.provider1, "two": 2}
+
+
+def test_from_yaml_schema_with_loader(container: containers.DynamicContainer, tmp_path: pathlib.Path):
+ schema_path = tmp_path / "schema.yml"
+ with open(schema_path, "w") as file:
+ file.write("""
+ version: "1"
+ container:
+ provider:
+ provider: Factory
+ provides: list
+ args: [1, 2, 3]
+ """)
+ container.from_yaml_schema(schema_path, loader=yaml.Loader)
+
+ assert isinstance(container.provider, providers.Factory)
+ assert container.provider.provides is list
+ assert container.provider.args == (1, 2, 3)
+
+
+def test_from_yaml_schema_no_yaml_installed(container: containers.DynamicContainer):
+ @contextlib.contextmanager
+ def no_yaml_module():
+ containers.yaml = None
+ yield
+ containers.yaml = yaml
+
+ error_message = re.escape(
+ "Unable to load yaml schema - PyYAML is not installed. "
+ "Install PyYAML or install Dependency Injector with yaml extras: "
+ "\"pip install dependency-injector[yaml]\""
+ )
+
+ with no_yaml_module():
+ with raises(errors.Error, match=error_message):
+ container.from_yaml_schema("./no-yaml-installed.yml")
+
+
+def test_from_json_schema(container: containers.DynamicContainer, tmp_path: pathlib.Path):
+ schema_path = tmp_path / "schema.json"
+ with open(schema_path, "w") as file:
+ file.write(
+ json.dumps(
+ {
+ "version": "1",
+ "container": {
+ "provider1": {
+ "provider": "Factory",
+ "provides": "list",
+ "args": [1, 2, 3],
+ },
+ "provider2": {
+ "provider": "Factory",
+ "provides": "dict",
+ "kwargs": {
+ "one": "container.provider1",
+ "two": 2,
+ },
+ },
+ },
+ },
+ indent=4,
+ ),
+ )
+ container.from_json_schema(schema_path)
+
+ assert isinstance(container.provider1, providers.Factory)
+ assert container.provider1.provides is list
+ assert container.provider1.args == (1, 2, 3)
+
+ assert isinstance(container.provider2, providers.Factory)
+ assert container.provider2.provides is dict
+ assert container.provider2.kwargs == {"one": container.provider1, "two": 2}
diff --git a/tests/unit/schema/test_containers_api_py36.py b/tests/unit/schema/test_containers_api_py36.py
deleted file mode 100644
index eb44bd4d..00000000
--- a/tests/unit/schema/test_containers_api_py36.py
+++ /dev/null
@@ -1,162 +0,0 @@
-import contextlib
-import json
-import os.path
-import tempfile
-import unittest
-
-import yaml
-from dependency_injector import containers, providers, errors
-
-
-class FromSchemaTests(unittest.TestCase):
-
- def test(self):
- container = containers.DynamicContainer()
- container.from_schema(
- {
- 'version': '1',
- 'container': {
- 'provider1': {
- 'provider': 'Factory',
- 'provides': 'list',
- 'args': [1, 2, 3],
- },
- 'provider2': {
- 'provider': 'Factory',
- 'provides': 'dict',
- 'kwargs': {
- 'one': 'container.provider1',
- 'two': 2,
- },
- },
- },
- },
- )
-
- self.assertIsInstance(container.provider1, providers.Factory)
- self.assertIs(container.provider1.provides, list)
- self.assertEqual(container.provider1.args, (1, 2, 3))
-
- self.assertIsInstance(container.provider2, providers.Factory)
- self.assertIs(container.provider2.provides, dict)
- self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
-
-
-class FromYamlSchemaTests(unittest.TestCase):
-
- def test(self):
- container = containers.DynamicContainer()
-
- with tempfile.TemporaryDirectory() as tmp_dir:
- schema_path = os.path.join(tmp_dir, 'schema.yml')
- with open(schema_path, 'w') as file:
- file.write("""
- version: "1"
- container:
- provider1:
- provider: Factory
- provides: list
- args:
- - 1
- - 2
- - 3
- provider2:
- provider: Factory
- provides: dict
- kwargs:
- one: container.provider1
- two: 2
- """)
-
- container.from_yaml_schema(schema_path)
-
- self.assertIsInstance(container.provider1, providers.Factory)
- self.assertIs(container.provider1.provides, list)
- self.assertEqual(container.provider1.args, (1, 2, 3))
-
- self.assertIsInstance(container.provider2, providers.Factory)
- self.assertIs(container.provider2.provides, dict)
- self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
-
- def test_with_loader(self):
- container = containers.DynamicContainer()
-
- with tempfile.TemporaryDirectory() as tmp_dir:
- schema_path = os.path.join(tmp_dir, 'schema.yml')
- with open(schema_path, 'w') as file:
- file.write("""
- version: "1"
- container:
- provider:
- provider: Factory
- provides: list
- args: [1, 2, 3]
- """)
-
- container.from_yaml_schema(schema_path, loader=yaml.Loader)
-
- self.assertIsInstance(container.provider, providers.Factory)
- self.assertIs(container.provider.provides, list)
- self.assertEqual(container.provider.args, (1, 2, 3))
-
- def test_no_yaml_installed(self):
- @contextlib.contextmanager
- def no_yaml_module():
- containers.yaml = None
- yield
- containers.yaml = yaml
-
- container = containers.DynamicContainer()
- with no_yaml_module():
- with self.assertRaises(errors.Error) as error:
- container.from_yaml_schema('./no-yaml-installed.yml')
-
- self.assertEqual(
- error.exception.args[0],
- 'Unable to load yaml schema - PyYAML is not installed. '
- 'Install PyYAML or install Dependency Injector with yaml extras: '
- '"pip install dependency-injector[yaml]"',
- )
-
-
-class FromJsonSchemaTests(unittest.TestCase):
-
- def test(self):
- container = containers.DynamicContainer()
-
- with tempfile.TemporaryDirectory() as tmp_dir:
- schema_path = os.path.join(tmp_dir, 'schema.json')
- with open(schema_path, 'w') as file:
- file.write(
- json.dumps(
- {
- 'version': '1',
- 'container': {
- 'provider1': {
- 'provider': 'Factory',
- 'provides': 'list',
- 'args': [1, 2, 3],
- },
- 'provider2': {
- 'provider': 'Factory',
- 'provides': 'dict',
- 'kwargs': {
- 'one': 'container.provider1',
- 'two': 2,
- },
- },
- },
- },
- indent=4,
- ),
- )
-
- container.from_json_schema(schema_path)
-
- self.assertIsInstance(container.provider1, providers.Factory)
- self.assertIs(container.provider1.provides, list)
- self.assertEqual(container.provider1.args, (1, 2, 3))
-
- self.assertIsInstance(container.provider2, providers.Factory)
- self.assertIs(container.provider2.provides, dict)
- self.assertEqual(container.provider2.kwargs, {'one': container.provider1, 'two': 2})
diff --git a/tests/unit/schema/test_integration_py36.py b/tests/unit/schema/test_integration_py36.py
index 813e4a45..aa7a6fd0 100644
--- a/tests/unit/schema/test_integration_py36.py
+++ b/tests/unit/schema/test_integration_py36.py
@@ -1,294 +1,273 @@
+"""Container tests for building containers from configuration files."""
+
+import os
import sqlite3
-import unittest
from dependency_injector import containers
+from pytest import mark
-# Runtime import
-import os
-_TOP_DIR = os.path.abspath(
+from samples.schema.services import UserService, AuthService, PhotoService
+
+
+SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
- '../',
+ "../samples/",
)),
)
-_SAMPLES_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../samples/',
- )),
-)
-import sys
-sys.path.append(_SAMPLES_DIR)
-
-from schemasample.services import UserService, AuthService, PhotoService
-class TestSchemaSingleContainer(unittest.TestCase):
+def test_single_container_schema(container: containers.DynamicContainer):
+ container.from_yaml_schema(f"{SAMPLES_DIR}/schema/container-single.yml")
+ container.config.from_dict({
+ "database": {
+ "dsn": ":memory:",
+ },
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ "auth": {
+ "token_ttl": 3600,
+ },
+ })
- def test(self):
- container = containers.DynamicContainer()
- container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-single.yml')
- container.config.from_dict({
- 'database': {
- 'dsn': ':memory:',
- },
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
- },
- 'auth': {
- 'token_ttl': 3600,
- },
- })
+ # User service
+ user_service1 = container.user_service()
+ user_service2 = container.user_service()
+ assert isinstance(user_service1, UserService)
+ assert isinstance(user_service2, UserService)
+ assert user_service1 is not user_service2
- # User service
- user_service1 = container.user_service()
- user_service2 = container.user_service()
- self.assertIsInstance(user_service1, UserService)
- self.assertIsInstance(user_service2, UserService)
- self.assertIsNot(user_service1, user_service2)
+ assert isinstance(user_service1.db, sqlite3.Connection)
+ assert isinstance(user_service2.db, sqlite3.Connection)
+ assert user_service1.db is user_service2.db
- self.assertIsInstance(user_service1.db, sqlite3.Connection)
- self.assertIsInstance(user_service2.db, sqlite3.Connection)
- self.assertIs(user_service1.db, user_service2.db)
+ # Auth service
+ auth_service1 = container.auth_service()
+ auth_service2 = container.auth_service()
+ assert isinstance(auth_service1, AuthService)
+ assert isinstance(auth_service2, AuthService)
+ assert auth_service1 is not auth_service2
- # Auth service
- auth_service1 = container.auth_service()
- auth_service2 = container.auth_service()
- self.assertIsInstance(auth_service1, AuthService)
- self.assertIsInstance(auth_service2, AuthService)
- self.assertIsNot(auth_service1, auth_service2)
+ assert isinstance(auth_service1.db, sqlite3.Connection)
+ assert isinstance(auth_service2.db, sqlite3.Connection)
+ assert auth_service1.db is auth_service2.db
+ assert auth_service1.db is container.database_client()
+ assert auth_service2.db is container.database_client()
- self.assertIsInstance(auth_service1.db, sqlite3.Connection)
- self.assertIsInstance(auth_service2.db, sqlite3.Connection)
- self.assertIs(auth_service1.db, auth_service2.db)
- self.assertIs(auth_service1.db, container.database_client())
- self.assertIs(auth_service2.db, container.database_client())
+ assert auth_service1.token_ttl == 3600
+ assert auth_service2.token_ttl == 3600
- self.assertEqual(auth_service1.token_ttl, 3600)
- self.assertEqual(auth_service2.token_ttl, 3600)
+ # Photo service
+ photo_service1 = container.photo_service()
+ photo_service2 = container.photo_service()
+ assert isinstance(photo_service1, PhotoService)
+ assert isinstance(photo_service2, PhotoService)
+ assert photo_service1 is not photo_service2
- # Photo service
- photo_service1 = container.photo_service()
- photo_service2 = container.photo_service()
- self.assertIsInstance(photo_service1, PhotoService)
- self.assertIsInstance(photo_service2, PhotoService)
- self.assertIsNot(photo_service1, photo_service2)
+ assert isinstance(photo_service1.db, sqlite3.Connection)
+ assert isinstance(photo_service2.db, sqlite3.Connection)
+ assert photo_service1.db is photo_service2.db
+ assert photo_service1.db is container.database_client()
+ assert photo_service2.db is container.database_client()
- self.assertIsInstance(photo_service1.db, sqlite3.Connection)
- self.assertIsInstance(photo_service2.db, sqlite3.Connection)
- self.assertIs(photo_service1.db, photo_service2.db)
- self.assertIs(photo_service1.db, container.database_client())
- self.assertIs(photo_service2.db, container.database_client())
-
- self.assertIs(photo_service1.s3, photo_service2.s3)
- self.assertIs(photo_service1.s3, container.s3_client())
- self.assertIs(photo_service2.s3, container.s3_client())
+ assert photo_service1.s3 is photo_service2.s3
+ assert photo_service1.s3 is container.s3_client()
+ assert photo_service2.s3 is container.s3_client()
-class TestSchemaMultipleContainers(unittest.TestCase):
+def test_multiple_containers_schema(container: containers.DynamicContainer):
+ container.from_yaml_schema(f"{SAMPLES_DIR}/schema/container-multiple.yml")
+ container.core.config.from_dict({
+ "database": {
+ "dsn": ":memory:",
+ },
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ "auth": {
+ "token_ttl": 3600,
+ },
+ })
- def test(self):
- container = containers.DynamicContainer()
- container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple.yml')
- container.core.config.from_dict({
- 'database': {
- 'dsn': ':memory:',
- },
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
- },
- 'auth': {
- 'token_ttl': 3600,
- },
- })
+ # User service
+ user_service1 = container.services.user()
+ user_service2 = container.services.user()
+ assert isinstance(user_service1, UserService)
+ assert isinstance(user_service2, UserService)
+ assert user_service1 is not user_service2
- # User service
- user_service1 = container.services.user()
- user_service2 = container.services.user()
- self.assertIsInstance(user_service1, UserService)
- self.assertIsInstance(user_service2, UserService)
- self.assertIsNot(user_service1, user_service2)
+ assert isinstance(user_service1.db, sqlite3.Connection)
+ assert isinstance(user_service2.db, sqlite3.Connection)
+ assert user_service1.db is user_service2.db
- self.assertIsInstance(user_service1.db, sqlite3.Connection)
- self.assertIsInstance(user_service2.db, sqlite3.Connection)
- self.assertIs(user_service1.db, user_service2.db)
+ # Auth service
+ auth_service1 = container.services.auth()
+ auth_service2 = container.services.auth()
+ assert isinstance(auth_service1, AuthService)
+ assert isinstance(auth_service2, AuthService)
+ assert auth_service1 is not auth_service2
- # Auth service
- auth_service1 = container.services.auth()
- auth_service2 = container.services.auth()
- self.assertIsInstance(auth_service1, AuthService)
- self.assertIsInstance(auth_service2, AuthService)
- self.assertIsNot(auth_service1, auth_service2)
+ assert isinstance(auth_service1.db, sqlite3.Connection)
+ assert isinstance(auth_service2.db, sqlite3.Connection)
+ assert auth_service1.db is auth_service2.db
+ assert auth_service1.db is container.gateways.database_client()
+ assert auth_service2.db is container.gateways.database_client()
- self.assertIsInstance(auth_service1.db, sqlite3.Connection)
- self.assertIsInstance(auth_service2.db, sqlite3.Connection)
- self.assertIs(auth_service1.db, auth_service2.db)
- self.assertIs(auth_service1.db, container.gateways.database_client())
- self.assertIs(auth_service2.db, container.gateways.database_client())
+ assert auth_service1.token_ttl == 3600
+ assert auth_service2.token_ttl == 3600
- self.assertEqual(auth_service1.token_ttl, 3600)
- self.assertEqual(auth_service2.token_ttl, 3600)
+ # Photo service
+ photo_service1 = container.services.photo()
+ photo_service2 = container.services.photo()
+ assert isinstance(photo_service1, PhotoService)
+ assert isinstance(photo_service2, PhotoService)
+ assert photo_service1 is not photo_service2
- # Photo service
- photo_service1 = container.services.photo()
- photo_service2 = container.services.photo()
- self.assertIsInstance(photo_service1, PhotoService)
- self.assertIsInstance(photo_service2, PhotoService)
- self.assertIsNot(photo_service1, photo_service2)
+ assert isinstance(photo_service1.db, sqlite3.Connection)
+ assert isinstance(photo_service2.db, sqlite3.Connection)
+ assert photo_service1.db is photo_service2.db
+ assert photo_service1.db is container.gateways.database_client()
+ assert photo_service2.db is container.gateways.database_client()
- self.assertIsInstance(photo_service1.db, sqlite3.Connection)
- self.assertIsInstance(photo_service2.db, sqlite3.Connection)
- self.assertIs(photo_service1.db, photo_service2.db)
- self.assertIs(photo_service1.db, container.gateways.database_client())
- self.assertIs(photo_service2.db, container.gateways.database_client())
-
- self.assertIs(photo_service1.s3, photo_service2.s3)
- self.assertIs(photo_service1.s3, container.gateways.s3_client())
- self.assertIs(photo_service2.s3, container.gateways.s3_client())
+ assert photo_service1.s3 is photo_service2.s3
+ assert photo_service1.s3 is container.gateways.s3_client()
+ assert photo_service2.s3 is container.gateways.s3_client()
-class TestSchemaMultipleContainersReordered(unittest.TestCase):
+def test_multiple_reordered_containers_schema(container: containers.DynamicContainer):
+ container.from_yaml_schema(f"{SAMPLES_DIR}/schema/container-multiple-reordered.yml")
+ container.core.config.from_dict({
+ "database": {
+ "dsn": ":memory:",
+ },
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ "auth": {
+ "token_ttl": 3600,
+ },
+ })
- def test(self):
- container = containers.DynamicContainer()
- container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple-reordered.yml')
- container.core.config.from_dict({
- 'database': {
- 'dsn': ':memory:',
- },
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
- },
- 'auth': {
- 'token_ttl': 3600,
- },
- })
+ # User service
+ user_service1 = container.services.user()
+ user_service2 = container.services.user()
+ assert isinstance(user_service1, UserService)
+ assert isinstance(user_service2, UserService)
+ assert user_service1 is not user_service2
- # User service
- user_service1 = container.services.user()
- user_service2 = container.services.user()
- self.assertIsInstance(user_service1, UserService)
- self.assertIsInstance(user_service2, UserService)
- self.assertIsNot(user_service1, user_service2)
+ assert isinstance(user_service1.db, sqlite3.Connection)
+ assert isinstance(user_service2.db, sqlite3.Connection)
+ assert user_service1.db is user_service2.db
- self.assertIsInstance(user_service1.db, sqlite3.Connection)
- self.assertIsInstance(user_service2.db, sqlite3.Connection)
- self.assertIs(user_service1.db, user_service2.db)
+ # Auth service
+ auth_service1 = container.services.auth()
+ auth_service2 = container.services.auth()
+ assert isinstance(auth_service1, AuthService)
+ assert isinstance(auth_service2, AuthService)
+ assert auth_service1 is not auth_service2
- # Auth service
- auth_service1 = container.services.auth()
- auth_service2 = container.services.auth()
- self.assertIsInstance(auth_service1, AuthService)
- self.assertIsInstance(auth_service2, AuthService)
- self.assertIsNot(auth_service1, auth_service2)
+ assert isinstance(auth_service1.db, sqlite3.Connection)
+ assert isinstance(auth_service2.db, sqlite3.Connection)
+ assert auth_service1.db is auth_service2.db
+ assert auth_service1.db is container.gateways.database_client()
+ assert auth_service2.db is container.gateways.database_client()
- self.assertIsInstance(auth_service1.db, sqlite3.Connection)
- self.assertIsInstance(auth_service2.db, sqlite3.Connection)
- self.assertIs(auth_service1.db, auth_service2.db)
- self.assertIs(auth_service1.db, container.gateways.database_client())
- self.assertIs(auth_service2.db, container.gateways.database_client())
+ assert auth_service1.token_ttl == 3600
+ assert auth_service2.token_ttl == 3600
- self.assertEqual(auth_service1.token_ttl, 3600)
- self.assertEqual(auth_service2.token_ttl, 3600)
+ # Photo service
+ photo_service1 = container.services.photo()
+ photo_service2 = container.services.photo()
+ assert isinstance(photo_service1, PhotoService)
+ assert isinstance(photo_service2, PhotoService)
+ assert photo_service1 is not photo_service2
- # Photo service
- photo_service1 = container.services.photo()
- photo_service2 = container.services.photo()
- self.assertIsInstance(photo_service1, PhotoService)
- self.assertIsInstance(photo_service2, PhotoService)
- self.assertIsNot(photo_service1, photo_service2)
+ assert isinstance(photo_service1.db, sqlite3.Connection)
+ assert isinstance(photo_service2.db, sqlite3.Connection)
+ assert photo_service1.db is photo_service2.db
+ assert photo_service1.db is container.gateways.database_client()
+ assert photo_service2.db is container.gateways.database_client()
- self.assertIsInstance(photo_service1.db, sqlite3.Connection)
- self.assertIsInstance(photo_service2.db, sqlite3.Connection)
- self.assertIs(photo_service1.db, photo_service2.db)
- self.assertIs(photo_service1.db, container.gateways.database_client())
- self.assertIs(photo_service2.db, container.gateways.database_client())
-
- self.assertIs(photo_service1.s3, photo_service2.s3)
- self.assertIs(photo_service1.s3, container.gateways.s3_client())
- self.assertIs(photo_service2.s3, container.gateways.s3_client())
+ assert photo_service1.s3 is photo_service2.s3
+ assert photo_service1.s3 is container.gateways.s3_client()
+ assert photo_service2.s3 is container.gateways.s3_client()
-class TestSchemaMultipleContainersWithInlineProviders(unittest.TestCase):
+def test_multiple_containers_with_inline_providers_schema(container: containers.DynamicContainer):
+ container.from_yaml_schema(f"{SAMPLES_DIR}/schema/container-multiple-inline.yml")
+ container.core.config.from_dict({
+ "database": {
+ "dsn": ":memory:",
+ },
+ "aws": {
+ "access_key_id": "KEY",
+ "secret_access_key": "SECRET",
+ },
+ "auth": {
+ "token_ttl": 3600,
+ },
+ })
- def test(self):
- container = containers.DynamicContainer()
- container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-multiple-inline.yml')
- container.core.config.from_dict({
- 'database': {
- 'dsn': ':memory:',
- },
- 'aws': {
- 'access_key_id': 'KEY',
- 'secret_access_key': 'SECRET',
- },
- 'auth': {
- 'token_ttl': 3600,
- },
- })
+ # User service
+ user_service1 = container.services.user()
+ user_service2 = container.services.user()
+ assert isinstance(user_service1, UserService)
+ assert isinstance(user_service2, UserService)
+ assert user_service1 is not user_service2
- # User service
- user_service1 = container.services.user()
- user_service2 = container.services.user()
- self.assertIsInstance(user_service1, UserService)
- self.assertIsInstance(user_service2, UserService)
- self.assertIsNot(user_service1, user_service2)
+ assert isinstance(user_service1.db, sqlite3.Connection)
+ assert isinstance(user_service2.db, sqlite3.Connection)
+ assert user_service1.db is user_service2.db
- self.assertIsInstance(user_service1.db, sqlite3.Connection)
- self.assertIsInstance(user_service2.db, sqlite3.Connection)
- self.assertIs(user_service1.db, user_service2.db)
+ # Auth service
+ auth_service1 = container.services.auth()
+ auth_service2 = container.services.auth()
+ assert isinstance(auth_service1, AuthService)
+ assert isinstance(auth_service2, AuthService)
+ assert auth_service1 is not auth_service2
- # Auth service
- auth_service1 = container.services.auth()
- auth_service2 = container.services.auth()
- self.assertIsInstance(auth_service1, AuthService)
- self.assertIsInstance(auth_service2, AuthService)
- self.assertIsNot(auth_service1, auth_service2)
+ assert isinstance(auth_service1.db, sqlite3.Connection)
+ assert isinstance(auth_service2.db, sqlite3.Connection)
+ assert auth_service1.db is auth_service2.db
+ assert auth_service1.db is container.gateways.database_client()
+ assert auth_service2.db is container.gateways.database_client()
- self.assertIsInstance(auth_service1.db, sqlite3.Connection)
- self.assertIsInstance(auth_service2.db, sqlite3.Connection)
- self.assertIs(auth_service1.db, auth_service2.db)
- self.assertIs(auth_service1.db, container.gateways.database_client())
- self.assertIs(auth_service2.db, container.gateways.database_client())
+ assert auth_service1.token_ttl == 3600
+ assert auth_service2.token_ttl == 3600
- self.assertEqual(auth_service1.token_ttl, 3600)
- self.assertEqual(auth_service2.token_ttl, 3600)
+ # Photo service
+ photo_service1 = container.services.photo()
+ photo_service2 = container.services.photo()
+ assert isinstance(photo_service1, PhotoService)
+ assert isinstance(photo_service2, PhotoService)
+ assert photo_service1 is not photo_service2
- # Photo service
- photo_service1 = container.services.photo()
- photo_service2 = container.services.photo()
- self.assertIsInstance(photo_service1, PhotoService)
- self.assertIsInstance(photo_service2, PhotoService)
- self.assertIsNot(photo_service1, photo_service2)
+ assert isinstance(photo_service1.db, sqlite3.Connection)
+ assert isinstance(photo_service2.db, sqlite3.Connection)
+ assert photo_service1.db is photo_service2.db
+ assert photo_service1.db is container.gateways.database_client()
+ assert photo_service2.db is container.gateways.database_client()
- self.assertIsInstance(photo_service1.db, sqlite3.Connection)
- self.assertIsInstance(photo_service2.db, sqlite3.Connection)
- self.assertIs(photo_service1.db, photo_service2.db)
- self.assertIs(photo_service1.db, container.gateways.database_client())
- self.assertIs(photo_service2.db, container.gateways.database_client())
-
- self.assertIs(photo_service1.s3, photo_service2.s3)
- self.assertIs(photo_service1.s3, container.gateways.s3_client())
- self.assertIs(photo_service2.s3, container.gateways.s3_client())
+ assert photo_service1.s3 is photo_service2.s3
+ assert photo_service1.s3 is container.gateways.s3_client()
+ assert photo_service2.s3 is container.gateways.s3_client()
-class TestSchemaBoto3Session(unittest.TestCase):
+@mark.skip(reason="Boto3 tries to connect to the internet")
+def test_schema_with_boto3_session(container: containers.DynamicContainer):
+ container.from_yaml_schema(f"{SAMPLES_DIR}/schema/container-boto3-session.yml")
+ container.config.from_dict(
+ {
+ "aws_access_key_id": "key",
+ "aws_secret_access_key": "secret",
+ "aws_session_token": "token",
+ "aws_region_name": "us-east-1",
+ },
+ )
- @unittest.skip('Boto3 tries to connect to the internet')
- def test(self):
- container = containers.DynamicContainer()
- container.from_yaml_schema(f'{_SAMPLES_DIR}/schemasample/container-boto3-session.yml')
- container.config.from_dict(
- {
- 'aws_access_key_id': 'key',
- 'aws_secret_access_key': 'secret',
- 'aws_session_token': 'token',
- 'aws_region_name': 'us-east-1',
- },
- )
-
- self.assertEqual(container.s3_client().__class__.__name__, 'S3')
- self.assertEqual(container.sqs_client().__class__.__name__, 'SQS')
+ assert container.s3_client().__class__.__name__ == "S3"
+ assert container.sqs_client().__class__.__name__ == "SQS"
diff --git a/tests/unit/test_common_py2_py3.py b/tests/unit/test_common_py2_py3.py
deleted file mode 100644
index 5eb70038..00000000
--- a/tests/unit/test_common_py2_py3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-"""Dependency injector common unit tests."""
-
-import unittest
-
-from dependency_injector import __version__
-
-
-class VersionTest(unittest.TestCase):
-
- def test_version_follows_semantic_versioning(self):
- self.assertEqual(len(__version__.split('.')), 3)
diff --git a/tests/unit/test_version_py2_py3.py b/tests/unit/test_version_py2_py3.py
new file mode 100644
index 00000000..e1e0bf39
--- /dev/null
+++ b/tests/unit/test_version_py2_py3.py
@@ -0,0 +1,7 @@
+"""Dependency injector common unit tests."""
+
+from dependency_injector import __version__
+
+
+def test_version_follows_semantic_versioning():
+ assert len(__version__.split(".")) == 3
diff --git a/tests/unit/wiring/provider_ids/__init__.py b/tests/unit/wiring/provider_ids/__init__.py
new file mode 100644
index 00000000..4947ead7
--- /dev/null
+++ b/tests/unit/wiring/provider_ids/__init__.py
@@ -0,0 +1 @@
+"""Tests for wiring based on provider instance identification."""
diff --git a/tests/unit/wiring/provider_ids/test_async_injections_py36.py b/tests/unit/wiring/provider_ids/test_async_injections_py36.py
new file mode 100644
index 00000000..f17f19c7
--- /dev/null
+++ b/tests/unit/wiring/provider_ids/test_async_injections_py36.py
@@ -0,0 +1,55 @@
+"""Async injection tests."""
+
+from pytest import fixture, mark
+
+from samples.wiring import asyncinjections
+
+
+@fixture(autouse=True)
+def container():
+ container = asyncinjections.Container()
+ container.wire(modules=[asyncinjections])
+ yield container
+ container.unwire()
+
+
+@fixture(autouse=True)
+def reset_counters():
+ asyncinjections.resource1.reset_counters()
+ asyncinjections.resource2.reset_counters()
+
+
+@mark.asyncio
+async def test_async_injections():
+ resource1, resource2 = await asyncinjections.async_injection()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 1
+ assert asyncinjections.resource1.shutdown_counter == 0
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 1
+ assert asyncinjections.resource2.shutdown_counter == 0
+
+
+@mark.asyncio
+async def test_async_injections_with_closing():
+ resource1, resource2 = await asyncinjections.async_injection_with_closing()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 1
+ assert asyncinjections.resource1.shutdown_counter == 1
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 1
+ assert asyncinjections.resource2.shutdown_counter == 1
+
+ resource1, resource2 = await asyncinjections.async_injection_with_closing()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 2
+ assert asyncinjections.resource1.shutdown_counter == 2
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 2
+ assert asyncinjections.resource2.shutdown_counter == 2
diff --git a/tests/unit/wiring/provider_ids/test_autoloader_py36.py b/tests/unit/wiring/provider_ids/test_autoloader_py36.py
new file mode 100644
index 00000000..becafe18
--- /dev/null
+++ b/tests/unit/wiring/provider_ids/test_autoloader_py36.py
@@ -0,0 +1,41 @@
+"""Auto loader tests."""
+
+import contextlib
+import importlib
+
+from dependency_injector.wiring import register_loader_containers, unregister_loader_containers
+from pytest import fixture
+
+from samples.wiring import module
+from samples.wiring.service import Service
+from samples.wiring.container import Container
+
+
+@fixture
+def container():
+ container = Container()
+
+ yield container
+
+ with contextlib.suppress(ValueError):
+ unregister_loader_containers(container)
+ container.unwire()
+ importlib.reload(module)
+
+
+def test_register_container(container: Container) -> None:
+ register_loader_containers(container)
+ importlib.reload(module)
+
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+
+def test_numpy_scipy_and_builtins_dont_break_wiring(container: Container) -> None:
+ register_loader_containers(container)
+ importlib.reload(module)
+ importlib.import_module("samples.wiring.imports")
+
+ service = module.test_function()
+
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/provider_ids/test_main_py36.py b/tests/unit/wiring/provider_ids/test_main_py36.py
new file mode 100644
index 00000000..15ac31c0
--- /dev/null
+++ b/tests/unit/wiring/provider_ids/test_main_py36.py
@@ -0,0 +1,337 @@
+"""Main wiring tests."""
+
+from decimal import Decimal
+
+from dependency_injector import errors
+from dependency_injector.wiring import Closing, Provide, Provider, wire
+from pytest import fixture, mark, raises
+
+from samples.wiring import module, package, resourceclosing
+from samples.wiring.service import Service
+from samples.wiring.container import Container, SubContainer
+
+
+@fixture(autouse=True)
+def container():
+ container = Container(config={"a": {"b": {"c": 10}}})
+ container.wire(
+ modules=[module],
+ packages=[package],
+ )
+ yield container
+ container.unwire()
+
+
+@fixture
+def subcontainer():
+ container = SubContainer()
+ container.wire(
+ modules=[module],
+ packages=[package],
+ )
+ yield container
+ container.unwire()
+
+
+@fixture
+def resourceclosing_container():
+ container = resourceclosing.Container()
+ container.wire(modules=[resourceclosing])
+ yield container
+ container.unwire()
+
+
+def test_package_lookup():
+ from samples.wiring.package import test_package_function
+ service = test_package_function()
+ assert isinstance(service, Service)
+
+
+def test_package_subpackage_lookup():
+ from samples.wiring.package.subpackage import test_package_function
+ service = test_package_function()
+ assert isinstance(service, Service)
+
+
+def test_package_submodule_lookup():
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+def test_module_attributes_wiring():
+ assert isinstance(module.service, Service)
+ assert isinstance(module.service_provider(), Service)
+ assert isinstance(module.undefined, Provide)
+
+
+def test_module_attribute_wiring_with_invalid_marker(container: Container):
+ from samples.wiring import module_invalid_attr_injection
+ with raises(Exception, match="Unknown type of marker {0}".format(module_invalid_attr_injection.service)):
+ container.wire(modules=[module_invalid_attr_injection])
+
+
+def test_class_wiring():
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.service, Service)
+
+
+def test_class_wiring_context_arg(container: Container):
+ test_service = container.service()
+ test_class_object = module.TestClass(service=test_service)
+ assert test_class_object.service is test_service
+
+
+def test_class_method_wiring():
+ test_class_object = module.TestClass()
+ service = test_class_object.method()
+ assert isinstance(service, Service)
+
+
+def test_class_classmethod_wiring():
+ service = module.TestClass.class_method()
+ assert isinstance(service, Service)
+
+
+def test_instance_classmethod_wiring():
+ instance = module.TestClass()
+ service = instance.class_method()
+ assert isinstance(service, Service)
+
+
+def test_class_staticmethod_wiring():
+ service = module.TestClass.static_method()
+ assert isinstance(service, Service)
+
+
+def test_instance_staticmethod_wiring():
+ instance = module.TestClass()
+ service = instance.static_method()
+ assert isinstance(service, Service)
+
+
+def test_class_attribute_wiring():
+ assert isinstance(module.TestClass.service, Service)
+ assert isinstance(module.TestClass.service_provider(), Service)
+ assert isinstance(module.TestClass.undefined, Provide)
+
+
+def test_function_wiring():
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+
+def test_function_wiring_context_arg(container: Container):
+ test_service = container.service()
+ service = module.test_function(service=test_service)
+ assert service is test_service
+
+
+def test_function_wiring_provider():
+ service = module.test_function_provider()
+ assert isinstance(service, Service)
+
+
+def test_function_wiring_provider_context_arg(container: Container):
+ test_service = container.service()
+ service = module.test_function_provider(service_provider=lambda: test_service)
+ assert service is test_service
+
+
+def test_configuration_option():
+ (
+ value_int,
+ value_float,
+ value_str,
+ value_decimal,
+ value_required,
+ value_required_int,
+ value_required_float,
+ value_required_str,
+ value_required_decimal,
+ ) = module.test_config_value()
+
+ assert value_int == 10
+ assert value_float == 10.0
+ assert value_str == "10"
+ assert value_decimal == Decimal(10)
+ assert value_required == 10
+ assert value_required_int == 10
+ assert value_required_float == 10.0
+ assert value_required_str == "10"
+ assert value_required_decimal == Decimal(10)
+
+
+def test_configuration_option_required_undefined(container: Container):
+ container.config.reset_override()
+ with raises(errors.Error, match="Undefined configuration option \"config.a.b.c\""):
+ module.test_config_value_required_undefined()
+
+
+def test_provide_provider():
+ service = module.test_provide_provider()
+ assert isinstance(service, Service)
+
+
+def test_provider_provider():
+ service = module.test_provider_provider()
+ assert isinstance(service, Service)
+
+
+def test_provided_instance(container: Container):
+ class TestService:
+ foo = {"bar": lambda: 10}
+
+ with container.service.override(TestService()):
+ some_value = module.test_provided_instance()
+ assert some_value == 10
+
+
+def test_subcontainer():
+ some_value = module.test_subcontainer_provider()
+ assert some_value == 1
+
+
+def test_config_invariant(container: Container):
+ config = {
+ "option": {
+ "a": 1,
+ "b": 2,
+ },
+ "switch": "a",
+ }
+ container.config.from_dict(config)
+
+ value_default = module.test_config_invariant()
+ assert value_default == 1
+
+ with container.config.switch.override("a"):
+ value_a = module.test_config_invariant()
+ assert value_a == 1
+
+ with container.config.switch.override("b"):
+ value_b = module.test_config_invariant()
+ assert value_b == 2
+
+
+def test_wire_with_class_error():
+ with raises(Exception):
+ wire(
+ container=Container,
+ modules=[module],
+ )
+
+
+def test_unwire_function(container: Container):
+ container.unwire()
+ assert isinstance(module.test_function(), Provide)
+
+
+def test_unwire_class(container: Container):
+ container.unwire()
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.service, Provide)
+
+
+def test_unwire_class_method(container: Container):
+ container.unwire()
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.method(), Provide)
+
+
+def test_unwire_package_function(container: Container):
+ container.unwire()
+ from samples.wiring.package.subpackage.submodule import test_function
+ assert isinstance(test_function(), Provide)
+
+
+def test_unwire_package_function_by_reference(container: Container):
+ from samples.wiring.package.subpackage import submodule
+ container.unwire()
+ assert isinstance(submodule.test_function(), Provide)
+
+
+def test_unwire_module_attributes(container: Container):
+ container.unwire()
+ assert isinstance(module.service, Provide)
+ assert isinstance(module.service_provider, Provider)
+ assert isinstance(module.undefined, Provide)
+
+
+def test_unwire_class_attributes(container: Container):
+ container.unwire()
+ assert isinstance(module.TestClass.service, Provide)
+ assert isinstance(module.TestClass.service_provider, Provider)
+ assert isinstance(module.TestClass.undefined, Provide)
+
+
+@mark.usefixtures("subcontainer")
+def test_wire_multiple_containers():
+ service, some_value = module.test_provide_from_different_containers()
+ assert isinstance(service, Service)
+ assert some_value == 1
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource():
+ resourceclosing.Service.reset_counter()
+
+ result_1 = resourceclosing.test_function()
+ assert isinstance(result_1, resourceclosing.Service)
+ assert result_1.init_counter == 1
+ assert result_1.shutdown_counter == 1
+
+ result_2 = resourceclosing.test_function()
+ assert isinstance(result_2, resourceclosing.Service)
+ assert result_2.init_counter == 2
+ assert result_2.shutdown_counter == 2
+
+ assert result_1 is not result_2
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource_bypass_marker_injection():
+ resourceclosing.Service.reset_counter()
+
+ result_1 = resourceclosing.test_function(service=Closing[Provide[resourceclosing.Container.service]])
+ assert isinstance(result_1, resourceclosing.Service)
+ assert result_1.init_counter == 1
+ assert result_1.shutdown_counter == 1
+
+ result_2 = resourceclosing.test_function(service=Closing[Provide[resourceclosing.Container.service]])
+ assert isinstance(result_2, resourceclosing.Service)
+ assert result_2.init_counter == 2
+ assert result_2.shutdown_counter == 2
+
+ assert result_1 is not result_2
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource_context():
+ resourceclosing.Service.reset_counter()
+ service = resourceclosing.Service()
+
+ result_1 = resourceclosing.test_function(service=service)
+ assert result_1 is service
+ assert result_1.init_counter == 0
+ assert result_1.shutdown_counter == 0
+
+ result_2 = resourceclosing.test_function(service=service)
+ assert result_2 is service
+ assert result_2.init_counter == 0
+ assert result_2.shutdown_counter == 0
+
+
+def test_class_decorator():
+ service = module.test_class_decorator()
+ assert isinstance(service, Service)
+
+
+def test_container():
+ service = module.test_container()
+ assert isinstance(service, Service)
+
+
+def test_bypass_marker_injection():
+ service = module.test_function(service=Provide[Container.service])
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/string_ids/__init__.py b/tests/unit/wiring/string_ids/__init__.py
new file mode 100644
index 00000000..cc5689cc
--- /dev/null
+++ b/tests/unit/wiring/string_ids/__init__.py
@@ -0,0 +1 @@
+"""Tests for wiring based on provider string name identification."""
diff --git a/tests/unit/wiring/string_ids/test_async_injections_py36.py b/tests/unit/wiring/string_ids/test_async_injections_py36.py
new file mode 100644
index 00000000..cff13ce5
--- /dev/null
+++ b/tests/unit/wiring/string_ids/test_async_injections_py36.py
@@ -0,0 +1,55 @@
+"""Async injection tests."""
+
+from pytest import fixture, mark
+
+from samples.wiringstringids import asyncinjections
+
+
+@fixture(autouse=True)
+def container():
+ container = asyncinjections.Container()
+ container.wire(modules=[asyncinjections])
+ yield container
+ container.unwire()
+
+
+@fixture(autouse=True)
+def reset_counters():
+ asyncinjections.resource1.reset_counters()
+ asyncinjections.resource2.reset_counters()
+
+
+@mark.asyncio
+async def test_async_injections():
+ resource1, resource2 = await asyncinjections.async_injection()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 1
+ assert asyncinjections.resource1.shutdown_counter == 0
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 1
+ assert asyncinjections.resource2.shutdown_counter == 0
+
+
+@mark.asyncio
+async def test_async_injections_with_closing():
+ resource1, resource2 = await asyncinjections.async_injection_with_closing()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 1
+ assert asyncinjections.resource1.shutdown_counter == 1
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 1
+ assert asyncinjections.resource2.shutdown_counter == 1
+
+ resource1, resource2 = await asyncinjections.async_injection_with_closing()
+
+ assert resource1 is asyncinjections.resource1
+ assert asyncinjections.resource1.init_counter == 2
+ assert asyncinjections.resource1.shutdown_counter == 2
+
+ assert resource2 is asyncinjections.resource2
+ assert asyncinjections.resource2.init_counter == 2
+ assert asyncinjections.resource2.shutdown_counter == 2
diff --git a/tests/unit/wiring/string_ids/test_autoloader_py36.py b/tests/unit/wiring/string_ids/test_autoloader_py36.py
new file mode 100644
index 00000000..98e4a4f1
--- /dev/null
+++ b/tests/unit/wiring/string_ids/test_autoloader_py36.py
@@ -0,0 +1,31 @@
+"""Auto loader tests."""
+
+import contextlib
+import importlib
+
+from dependency_injector.wiring import register_loader_containers, unregister_loader_containers
+from pytest import fixture
+
+from samples.wiringstringids import module
+from samples.wiringstringids.service import Service
+from samples.wiringstringids.container import Container
+
+
+@fixture
+def container():
+ container = Container()
+
+ yield container
+
+ with contextlib.suppress(ValueError):
+ unregister_loader_containers(container)
+ container.unwire()
+ importlib.reload(module)
+
+
+def test_register_container(container: Container) -> None:
+ register_loader_containers(container)
+ importlib.reload(module)
+
+ service = module.test_function()
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/string_ids/test_dynamic_container_py36.py b/tests/unit/wiring/string_ids/test_dynamic_container_py36.py
new file mode 100644
index 00000000..e6250b37
--- /dev/null
+++ b/tests/unit/wiring/string_ids/test_dynamic_container_py36.py
@@ -0,0 +1,32 @@
+"""Tests for wiring with dynamic container."""
+
+from dependency_injector import containers, providers
+from pytest import fixture
+
+from samples.wiringstringids import module, package
+from samples.wiringstringids.service import Service
+
+
+@fixture(autouse=True)
+def container():
+ sub = containers.DynamicContainer()
+ sub.int_object = providers.Object(1)
+
+ container = containers.DynamicContainer()
+ container.config = providers.Configuration()
+ container.service = providers.Factory(Service)
+ container.sub = sub
+
+ container.wire(
+ modules=[module],
+ packages=[package],
+ )
+
+ yield container
+
+ container.unwire()
+
+
+def test_wire():
+ service = module.test_function()
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/string_ids/test_main_py36.py b/tests/unit/wiring/string_ids/test_main_py36.py
new file mode 100644
index 00000000..4c8f2e55
--- /dev/null
+++ b/tests/unit/wiring/string_ids/test_main_py36.py
@@ -0,0 +1,337 @@
+"""Main wiring tests."""
+
+from decimal import Decimal
+
+from dependency_injector import errors
+from dependency_injector.wiring import Closing, Provide, Provider, wire
+from pytest import fixture, mark, raises
+
+from samples.wiringstringids import module, package, resourceclosing
+from samples.wiringstringids.service import Service
+from samples.wiringstringids.container import Container, SubContainer
+
+
+@fixture(autouse=True)
+def container():
+ container = Container(config={"a": {"b": {"c": 10}}})
+ container.wire(
+ modules=[module],
+ packages=[package],
+ )
+ yield container
+ container.unwire()
+
+
+@fixture
+def subcontainer():
+ container = SubContainer()
+ container.wire(
+ modules=[module],
+ packages=[package],
+ )
+ yield container
+ container.unwire()
+
+
+@fixture
+def resourceclosing_container():
+ container = resourceclosing.Container()
+ container.wire(modules=[resourceclosing])
+ yield container
+ container.unwire()
+
+
+def test_package_lookup():
+ from samples.wiringstringids.package import test_package_function
+ service = test_package_function()
+ assert isinstance(service, Service)
+
+
+def test_package_subpackage_lookup():
+ from samples.wiringstringids.package.subpackage import test_package_function
+ service = test_package_function()
+ assert isinstance(service, Service)
+
+
+def test_package_submodule_lookup():
+ from samples.wiringstringids.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+def test_module_attributes_wiring():
+ assert isinstance(module.service, Service)
+ assert isinstance(module.service_provider(), Service)
+ assert isinstance(module.undefined, Provide)
+
+
+def test_module_attribute_wiring_with_invalid_marker(container: Container):
+ from samples.wiringstringids import module_invalid_attr_injection
+ with raises(Exception, match="Unknown type of marker {0}".format(module_invalid_attr_injection.service)):
+ container.wire(modules=[module_invalid_attr_injection])
+
+
+def test_class_wiring():
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.service, Service)
+
+
+def test_class_wiring_context_arg(container: Container):
+ test_service = container.service()
+ test_class_object = module.TestClass(service=test_service)
+ assert test_class_object.service is test_service
+
+
+def test_class_method_wiring():
+ test_class_object = module.TestClass()
+ service = test_class_object.method()
+ assert isinstance(service, Service)
+
+
+def test_class_classmethod_wiring():
+ service = module.TestClass.class_method()
+ assert isinstance(service, Service)
+
+
+def test_instance_classmethod_wiring():
+ instance = module.TestClass()
+ service = instance.class_method()
+ assert isinstance(service, Service)
+
+
+def test_class_staticmethod_wiring():
+ service = module.TestClass.static_method()
+ assert isinstance(service, Service)
+
+
+def test_instance_staticmethod_wiring():
+ instance = module.TestClass()
+ service = instance.static_method()
+ assert isinstance(service, Service)
+
+
+def test_class_attribute_wiring():
+ assert isinstance(module.TestClass.service, Service)
+ assert isinstance(module.TestClass.service_provider(), Service)
+ assert isinstance(module.TestClass.undefined, Provide)
+
+
+def test_function_wiring():
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+
+def test_function_wiring_context_arg(container: Container):
+ test_service = container.service()
+ service = module.test_function(service=test_service)
+ assert service is test_service
+
+
+def test_function_wiring_provider():
+ service = module.test_function_provider()
+ assert isinstance(service, Service)
+
+
+def test_function_wiring_provider_context_arg(container: Container):
+ test_service = container.service()
+ service = module.test_function_provider(service_provider=lambda: test_service)
+ assert service is test_service
+
+
+def test_configuration_option():
+ (
+ value_int,
+ value_float,
+ value_str,
+ value_decimal,
+ value_required,
+ value_required_int,
+ value_required_float,
+ value_required_str,
+ value_required_decimal,
+ ) = module.test_config_value()
+
+ assert value_int == 10
+ assert value_float == 10.0
+ assert value_str == "10"
+ assert value_decimal == Decimal(10)
+ assert value_required == 10
+ assert value_required_int == 10
+ assert value_required_float == 10.0
+ assert value_required_str == "10"
+ assert value_required_decimal == Decimal(10)
+
+
+def test_configuration_option_required_undefined(container: Container):
+ container.config.reset_override()
+ with raises(errors.Error, match="Undefined configuration option \"config.a.b.c\""):
+ module.test_config_value_required_undefined()
+
+
+def test_provide_provider():
+ service = module.test_provide_provider()
+ assert isinstance(service, Service)
+
+
+def test_provider_provider():
+ service = module.test_provider_provider()
+ assert isinstance(service, Service)
+
+
+def test_provided_instance(container: Container):
+ class TestService:
+ foo = {"bar": lambda: 10}
+
+ with container.service.override(TestService()):
+ some_value = module.test_provided_instance()
+ assert some_value == 10
+
+
+def test_subcontainer():
+ some_value = module.test_subcontainer_provider()
+ assert some_value == 1
+
+
+def test_config_invariant(container: Container):
+ config = {
+ "option": {
+ "a": 1,
+ "b": 2,
+ },
+ "switch": "a",
+ }
+ container.config.from_dict(config)
+
+ value_default = module.test_config_invariant()
+ assert value_default == 1
+
+ with container.config.switch.override("a"):
+ value_a = module.test_config_invariant()
+ assert value_a == 1
+
+ with container.config.switch.override("b"):
+ value_b = module.test_config_invariant()
+ assert value_b == 2
+
+
+def test_wire_with_class_error():
+ with raises(Exception):
+ wire(
+ container=Container,
+ modules=[module],
+ )
+
+
+def test_unwire_function(container: Container):
+ container.unwire()
+ assert isinstance(module.test_function(), Provide)
+
+
+def test_unwire_class(container: Container):
+ container.unwire()
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.service, Provide)
+
+
+def test_unwire_class_method(container: Container):
+ container.unwire()
+ test_class_object = module.TestClass()
+ assert isinstance(test_class_object.method(), Provide)
+
+
+def test_unwire_package_function(container: Container):
+ container.unwire()
+ from samples.wiringstringids.package.subpackage.submodule import test_function
+ assert isinstance(test_function(), Provide)
+
+
+def test_unwire_package_function_by_reference(container: Container):
+ from samples.wiringstringids.package.subpackage import submodule
+ container.unwire()
+ assert isinstance(submodule.test_function(), Provide)
+
+
+def test_unwire_module_attributes(container: Container):
+ container.unwire()
+ assert isinstance(module.service, Provide)
+ assert isinstance(module.service_provider, Provider)
+ assert isinstance(module.undefined, Provide)
+
+
+def test_unwire_class_attributes(container: Container):
+ container.unwire()
+ assert isinstance(module.TestClass.service, Provide)
+ assert isinstance(module.TestClass.service_provider, Provider)
+ assert isinstance(module.TestClass.undefined, Provide)
+
+
+@mark.usefixtures("subcontainer")
+def test_wire_multiple_containers():
+ service, some_value = module.test_provide_from_different_containers()
+ assert isinstance(service, Service)
+ assert some_value == 1
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource():
+ resourceclosing.Service.reset_counter()
+
+ result_1 = resourceclosing.test_function()
+ assert isinstance(result_1, resourceclosing.Service)
+ assert result_1.init_counter == 1
+ assert result_1.shutdown_counter == 1
+
+ result_2 = resourceclosing.test_function()
+ assert isinstance(result_2, resourceclosing.Service)
+ assert result_2.init_counter == 2
+ assert result_2.shutdown_counter == 2
+
+ assert result_1 is not result_2
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource_bypass_marker_injection():
+ resourceclosing.Service.reset_counter()
+
+ result_1 = resourceclosing.test_function(service=Closing[Provide["service"]])
+ assert isinstance(result_1, resourceclosing.Service)
+ assert result_1.init_counter == 1
+ assert result_1.shutdown_counter == 1
+
+ result_2 = resourceclosing.test_function(service=Closing[Provide["service"]])
+ assert isinstance(result_2, resourceclosing.Service)
+ assert result_2.init_counter == 2
+ assert result_2.shutdown_counter == 2
+
+ assert result_1 is not result_2
+
+
+@mark.usefixtures("resourceclosing_container")
+def test_closing_resource_context():
+ resourceclosing.Service.reset_counter()
+ service = resourceclosing.Service()
+
+ result_1 = resourceclosing.test_function(service=service)
+ assert result_1 is service
+ assert result_1.init_counter == 0
+ assert result_1.shutdown_counter == 0
+
+ result_2 = resourceclosing.test_function(service=service)
+ assert result_2 is service
+ assert result_2.init_counter == 0
+ assert result_2.shutdown_counter == 0
+
+
+def test_class_decorator():
+ service = module.test_class_decorator()
+ assert isinstance(service, Service)
+
+
+def test_container():
+ service = module.test_container()
+ assert isinstance(service, Service)
+
+
+def test_bypass_marker_injection():
+ service = module.test_function(service=Provide["service"])
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/test_fastapi_py36.py b/tests/unit/wiring/test_fastapi_py36.py
new file mode 100644
index 00000000..d93cc9c2
--- /dev/null
+++ b/tests/unit/wiring/test_fastapi_py36.py
@@ -0,0 +1,43 @@
+from httpx import AsyncClient
+from pytest import fixture, mark
+
+# Runtime import to avoid syntax errors in samples on Python < 3.5 and reach top-dir
+import os
+_SAMPLES_DIR = os.path.abspath(
+ os.path.sep.join((
+ os.path.dirname(__file__),
+ "../samples/",
+ )),
+)
+import sys
+sys.path.append(_SAMPLES_DIR)
+
+
+from wiringfastapi import web
+
+
+@fixture
+async def async_client():
+ client = AsyncClient(app=web.app, base_url="http://test")
+ yield client
+ await client.aclose()
+
+
+@mark.asyncio
+async def test_depends_marker_injection(async_client: AsyncClient):
+ class ServiceMock:
+ async def process(self):
+ return "Foo"
+
+ with web.container.service.override(ServiceMock()):
+ response = await async_client.get("/")
+
+ assert response.status_code == 200
+ assert response.json() == {"result": "Foo"}
+
+
+@mark.asyncio
+async def test_depends_injection(async_client: AsyncClient):
+ response = await async_client.get("/auth", auth=("john_smith", "secret"))
+ assert response.status_code == 200
+ assert response.json() == {"username": "john_smith", "password": "secret"}
diff --git a/tests/unit/wiring/test_wiringflask_py36.py b/tests/unit/wiring/test_flask_py36.py
similarity index 53%
rename from tests/unit/wiring/test_wiringflask_py36.py
rename to tests/unit/wiring/test_flask_py36.py
index 1eaaa4d8..751f04d8 100644
--- a/tests/unit/wiring/test_wiringflask_py36.py
+++ b/tests/unit/wiring/test_flask_py36.py
@@ -1,17 +1,17 @@
-import unittest
+import json
# Runtime import to avoid syntax errors in samples on Python < 3.5 and reach top-dir
import os
_TOP_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
- '../',
+ "../",
)),
)
_SAMPLES_DIR = os.path.abspath(
os.path.sep.join((
os.path.dirname(__file__),
- '../samples/',
+ "../samples/",
)),
)
import sys
@@ -21,13 +21,11 @@ sys.path.append(_SAMPLES_DIR)
from wiringflask import web
-class WiringFlaskTest(unittest.TestCase):
+def test_wiring_with_flask():
+ client = web.app.test_client()
- def test(self):
- client = web.app.test_client()
+ with web.app.app_context():
+ response = client.get("/")
- with web.app.app_context():
- response = client.get('/')
-
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.data, b'{"result":"Ok"}\n')
+ assert response.status_code == 200
+ assert json.loads(response.data) == {"result": "OK"}
diff --git a/tests/unit/wiring/test_module_as_package_py36.py b/tests/unit/wiring/test_module_as_package_py36.py
new file mode 100644
index 00000000..dbb5cc67
--- /dev/null
+++ b/tests/unit/wiring/test_module_as_package_py36.py
@@ -0,0 +1,20 @@
+"""Tests for wiring to module as package."""
+
+from pytest import fixture
+
+from samples.wiring import module
+from samples.wiring.service import Service
+from samples.wiring.container import Container
+
+
+@fixture
+def container():
+ container = Container()
+ yield container
+ container.unwire()
+
+
+def test_module_as_package_wiring(container: Container):
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/481
+ container.wire(packages=[module])
+ assert isinstance(module.service, Service)
diff --git a/tests/unit/wiring/test_string_module_names_py36.py b/tests/unit/wiring/test_string_module_names_py36.py
new file mode 100644
index 00000000..04930a0b
--- /dev/null
+++ b/tests/unit/wiring/test_string_module_names_py36.py
@@ -0,0 +1,57 @@
+"""Tests for string module and package names."""
+
+from pytest import fixture
+
+from samples.wiring import module
+from samples.wiring.service import Service
+from samples.wiring.container import Container
+from samples.wiring.wire_relative_string_names import wire_with_relative_string_names
+
+
+@fixture
+def container():
+ container = Container()
+ yield container
+ container.unwire()
+
+
+def test_absolute_names(container: Container):
+ container.wire(
+ modules=["samples.wiring.module"],
+ packages=["samples.wiring.package"],
+ )
+
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+def test_relative_names_with_explicit_package(container: Container):
+ container.wire(
+ modules=[".module"],
+ packages=[".package"],
+ from_package="samples.wiring",
+ )
+
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+def test_relative_names_with_auto_package(container: Container):
+ wire_with_relative_string_names(container)
+
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
diff --git a/tests/unit/wiring/test_wiring_config_in_container_py36.py b/tests/unit/wiring/test_wiring_config_in_container_py36.py
new file mode 100644
index 00000000..a4ac1fbe
--- /dev/null
+++ b/tests/unit/wiring/test_wiring_config_in_container_py36.py
@@ -0,0 +1,92 @@
+"""Tests for specifying wiring config in the container."""
+
+from dependency_injector import containers
+from dependency_injector.wiring import Provide
+from pytest import fixture, mark
+
+from samples.wiring import module
+from samples.wiring.service import Service
+from samples.wiring.container import Container
+
+
+@fixture(autouse=True)
+def container(wiring_config: containers.WiringConfiguration):
+ original_wiring_config = Container.wiring_config
+ Container.wiring_config = wiring_config
+ container = Container()
+ yield container
+ container.unwire()
+ Container.wiring_config = original_wiring_config
+
+
+@mark.parametrize(
+ "wiring_config",
+ [
+ containers.WiringConfiguration(
+ modules=["samples.wiring.module"],
+ packages=["samples.wiring.package"],
+ ),
+ ],
+)
+def test_absolute_names():
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+@mark.parametrize(
+ "wiring_config",
+ [
+ containers.WiringConfiguration(
+ modules=[".module"],
+ packages=[".package"],
+ from_package="samples.wiring",
+ ),
+ ],
+)
+def test_relative_names_with_explicit_package():
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+@mark.parametrize(
+ "wiring_config",
+ [
+ containers.WiringConfiguration(
+ modules=[".module"],
+ packages=[".package"],
+ ),
+ ],
+)
+def test_relative_names_with_auto_package():
+ service = module.test_function()
+ assert isinstance(service, Service)
+
+ from samples.wiring.package.subpackage.submodule import test_function
+ service = test_function()
+ assert isinstance(service, Service)
+
+
+@mark.parametrize(
+ "wiring_config",
+ [
+ containers.WiringConfiguration(
+ modules=[".module"],
+ auto_wire=False,
+ ),
+ ],
+)
+def test_auto_wire_disabled(container: Container):
+ service = module.test_function()
+ assert isinstance(service, Provide)
+
+ container.wire()
+ service = module.test_function()
+ assert isinstance(service, Service)
diff --git a/tests/unit/wiring/test_wiring_py36.py b/tests/unit/wiring/test_wiring_py36.py
deleted file mode 100644
index 0d0a4a5f..00000000
--- a/tests/unit/wiring/test_wiring_py36.py
+++ /dev/null
@@ -1,459 +0,0 @@
-import contextlib
-from decimal import Decimal
-import importlib
-import unittest
-
-from dependency_injector.wiring import (
- wire,
- Provide,
- Provider,
- Closing,
- register_loader_containers,
- unregister_loader_containers,
-)
-from dependency_injector import errors
-
-# Runtime import to avoid syntax errors in samples on Python < 3.5
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-_SAMPLES_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../samples/',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-sys.path.append(_SAMPLES_DIR)
-
-from asyncutils import AsyncTestCase
-
-from wiringsamples import module, package
-from wiringsamples.service import Service
-from wiringsamples.container import Container, SubContainer
-
-
-class WiringTest(unittest.TestCase):
-
- container: Container
-
- def setUp(self) -> None:
- self.container = Container(config={'a': {'b': {'c': 10}}})
- self.container.wire(
- modules=[module],
- packages=[package],
- )
- self.addCleanup(self.container.unwire)
-
- def test_package_lookup(self):
- from wiringsamples.package import test_package_function
- service = test_package_function()
- self.assertIsInstance(service, Service)
-
- def test_package_subpackage_lookup(self):
- from wiringsamples.package.subpackage import test_package_function
- service = test_package_function()
- self.assertIsInstance(service, Service)
-
- def test_package_submodule_lookup(self):
- from wiringsamples.package.subpackage.submodule import test_function
- service = test_function()
- self.assertIsInstance(service, Service)
-
- def test_module_attributes_wiring(self):
- self.assertIsInstance(module.service, Service)
- self.assertIsInstance(module.service_provider(), Service)
- self.assertIsInstance(module.undefined, Provide)
-
- def test_module_attribute_wiring_with_invalid_marker(self):
- from wiringsamples import module_invalid_attr_injection
- with self.assertRaises(Exception) as context:
- self.container.wire(modules=[module_invalid_attr_injection])
- self.assertEqual(
- str(context.exception),
- 'Unknown type of marker {0}'.format(module_invalid_attr_injection.service),
- )
-
- def test_class_wiring(self):
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.service, Service)
-
- def test_class_wiring_context_arg(self):
- test_service = self.container.service()
-
- test_class_object = module.TestClass(service=test_service)
- self.assertIs(test_class_object.service, test_service)
-
- def test_class_method_wiring(self):
- test_class_object = module.TestClass()
- service = test_class_object.method()
- self.assertIsInstance(service, Service)
-
- def test_class_classmethod_wiring(self):
- service = module.TestClass.class_method()
- self.assertIsInstance(service, Service)
-
- def test_instance_classmethod_wiring(self):
- instance = module.TestClass()
- service = instance.class_method()
- self.assertIsInstance(service, Service)
-
- def test_class_staticmethod_wiring(self):
- service = module.TestClass.static_method()
- self.assertIsInstance(service, Service)
-
- def test_instance_staticmethod_wiring(self):
- instance = module.TestClass()
- service = instance.static_method()
- self.assertIsInstance(service, Service)
-
- def test_class_attribute_wiring(self):
- self.assertIsInstance(module.TestClass.service, Service)
- self.assertIsInstance(module.TestClass.service_provider(), Service)
- self.assertIsInstance(module.TestClass.undefined, Provide)
-
- def test_function_wiring(self):
- service = module.test_function()
- self.assertIsInstance(service, Service)
-
- def test_function_wiring_context_arg(self):
- test_service = self.container.service()
-
- service = module.test_function(service=test_service)
- self.assertIs(service, test_service)
-
- def test_function_wiring_provider(self):
- service = module.test_function_provider()
- self.assertIsInstance(service, Service)
-
- def test_function_wiring_provider_context_arg(self):
- test_service = self.container.service()
-
- service = module.test_function_provider(service_provider=lambda: test_service)
- self.assertIs(service, test_service)
-
- def test_configuration_option(self):
- (
- value_int,
- value_float,
- value_str,
- value_decimal,
- value_required,
- value_required_int,
- value_required_float,
- value_required_str,
- value_required_decimal,
- ) = module.test_config_value()
-
- self.assertEqual(value_int, 10)
- self.assertEqual(value_float, 10.0)
- self.assertEqual(value_str, '10')
- self.assertEqual(value_decimal, Decimal(10))
- self.assertEqual(value_required, 10)
- self.assertEqual(value_required_int, 10)
- self.assertEqual(value_required_float, 10.0)
- self.assertEqual(value_required_str, '10')
- self.assertEqual(value_required_decimal, Decimal(10))
-
- def test_configuration_option_required_undefined(self):
- self.container.config.reset_override()
- with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a.b.c"'):
- module.test_config_value_required_undefined()
-
- def test_provide_provider(self):
- service = module.test_provide_provider()
- self.assertIsInstance(service, Service)
-
- def test_provider_provider(self):
- service = module.test_provider_provider()
- self.assertIsInstance(service, Service)
-
- def test_provided_instance(self):
- class TestService:
- foo = {
- 'bar': lambda: 10,
- }
-
- with self.container.service.override(TestService()):
- some_value = module.test_provided_instance()
- self.assertEqual(some_value, 10)
-
- def test_subcontainer(self):
- some_value = module.test_subcontainer_provider()
- self.assertEqual(some_value, 1)
-
- def test_config_invariant(self):
- config = {
- 'option': {
- 'a': 1,
- 'b': 2,
- },
- 'switch': 'a',
- }
- self.container.config.from_dict(config)
-
- value_default = module.test_config_invariant()
- self.assertEqual(value_default, 1)
-
- with self.container.config.switch.override('a'):
- value_a = module.test_config_invariant()
- self.assertEqual(value_a, 1)
-
- with self.container.config.switch.override('b'):
- value_b = module.test_config_invariant()
- self.assertEqual(value_b, 2)
-
- def test_wire_with_class_error(self):
- with self.assertRaises(Exception):
- wire(
- container=Container,
- modules=[module],
- )
-
- def test_unwire_function(self):
- self.container.unwire()
- self.assertIsInstance(module.test_function(), Provide)
-
- def test_unwire_class(self):
- self.container.unwire()
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.service, Provide)
-
- def test_unwire_class_method(self):
- self.container.unwire()
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.method(), Provide)
-
- def test_unwire_package_function(self):
- self.container.unwire()
- from wiringsamples.package.subpackage.submodule import test_function
- self.assertIsInstance(test_function(), Provide)
-
- def test_unwire_package_function_by_reference(self):
- from wiringsamples.package.subpackage import submodule
- self.container.unwire()
- self.assertIsInstance(submodule.test_function(), Provide)
-
- def test_unwire_module_attributes(self):
- self.container.unwire()
- self.assertIsInstance(module.service, Provide)
- self.assertIsInstance(module.service_provider, Provider)
- self.assertIsInstance(module.undefined, Provide)
-
- def test_unwire_class_attributes(self):
- self.container.unwire()
- self.assertIsInstance(module.TestClass.service, Provide)
- self.assertIsInstance(module.TestClass.service_provider, Provider)
- self.assertIsInstance(module.TestClass.undefined, Provide)
-
- def test_wire_multiple_containers(self):
- sub_container = SubContainer()
- sub_container.wire(
- modules=[module],
- packages=[package],
- )
- self.addCleanup(sub_container.unwire)
-
- service, some_value = module.test_provide_from_different_containers()
-
- self.assertIsInstance(service, Service)
- self.assertEqual(some_value, 1)
-
- def test_closing_resource(self):
- from wiringsamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function()
- self.assertIsInstance(result_1, resourceclosing.Service)
- self.assertEqual(result_1.init_counter, 1)
- self.assertEqual(result_1.shutdown_counter, 1)
-
- result_2 = resourceclosing.test_function()
- self.assertIsInstance(result_2, resourceclosing.Service)
- self.assertEqual(result_2.init_counter, 2)
- self.assertEqual(result_2.shutdown_counter, 2)
-
- self.assertIsNot(result_1, result_2)
-
- def test_closing_resource_context(self):
- from wiringsamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
- service = resourceclosing.Service()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function(service=service)
- self.assertIs(result_1, service)
- self.assertEqual(result_1.init_counter, 0)
- self.assertEqual(result_1.shutdown_counter, 0)
-
- result_2 = resourceclosing.test_function(service=service)
- self.assertIs(result_2, service)
- self.assertEqual(result_2.init_counter, 0)
- self.assertEqual(result_2.shutdown_counter, 0)
-
- def test_class_decorator(self):
- service = module.test_class_decorator()
- self.assertIsInstance(service, Service)
-
- def test_container(self):
- service = module.test_container()
- self.assertIsInstance(service, Service)
-
-
-class ModuleAsPackagingTest(unittest.TestCase):
-
- def setUp(self):
- self.container = Container(config={'a': {'b': {'c': 10}}})
- self.addCleanup(self.container.unwire)
-
- def test_module_as_package_wiring(self):
- # See: https://github.com/ets-labs/python-dependency-injector/issues/481
- self.container.wire(packages=[module])
- self.assertIsInstance(module.service, Service)
-
-
-class WiringAndQueue(unittest.TestCase):
-
- def test_wire_queue(self) -> None:
- from wiringsamples import queuemodule
- container = Container()
- self.addCleanup(container.unwire)
-
- # Should not raise exception
- # See: https://github.com/ets-labs/python-dependency-injector/issues/362
- try:
- container.wire(modules=[queuemodule])
- except:
- raise
-
-
-class WiringAndFastAPITest(unittest.TestCase):
-
- container: Container
-
- def test_bypass_marker_injection(self):
- container = Container()
- container.wire(modules=[module])
- self.addCleanup(container.unwire)
-
- service = module.test_function(service=Provide[Container.service])
- self.assertIsInstance(service, Service)
-
- def test_closing_resource_bypass_marker_injection(self):
- from wiringsamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function(
- service=Closing[Provide[resourceclosing.Container.service]],
- )
- self.assertIsInstance(result_1, resourceclosing.Service)
- self.assertEqual(result_1.init_counter, 1)
- self.assertEqual(result_1.shutdown_counter, 1)
-
- result_2 = resourceclosing.test_function(
- service=Closing[Provide[resourceclosing.Container.service]],
- )
- self.assertIsInstance(result_2, resourceclosing.Service)
- self.assertEqual(result_2.init_counter, 2)
- self.assertEqual(result_2.shutdown_counter, 2)
-
- self.assertIsNot(result_1, result_2)
-
-
-class WiringAsyncInjectionsTest(AsyncTestCase):
-
- def test_async_injections(self):
- from wiringsamples import asyncinjections
-
- container = asyncinjections.Container()
- container.wire(modules=[asyncinjections])
- self.addCleanup(container.unwire)
-
- asyncinjections.resource1.reset_counters()
- asyncinjections.resource2.reset_counters()
-
- resource1, resource2 = self._run(asyncinjections.async_injection())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 1)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 0)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 1)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 0)
-
- def test_async_injections_with_closing(self):
- from wiringsamples import asyncinjections
-
- container = asyncinjections.Container()
- container.wire(modules=[asyncinjections])
- self.addCleanup(container.unwire)
-
- asyncinjections.resource1.reset_counters()
- asyncinjections.resource2.reset_counters()
-
- resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 1)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 1)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 1)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 1)
-
- resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 2)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 2)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 2)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 2)
-
-
-class AutoLoaderTest(unittest.TestCase):
-
- container: Container
-
- def setUp(self) -> None:
- self.container = Container(config={'a': {'b': {'c': 10}}})
- importlib.reload(module)
-
- def tearDown(self) -> None:
- with contextlib.suppress(ValueError):
- unregister_loader_containers(self.container)
-
- self.container.unwire()
-
- @classmethod
- def tearDownClass(cls) -> None:
- importlib.reload(module)
-
- def test_register_container(self):
- register_loader_containers(self.container)
- importlib.reload(module)
- importlib.import_module('wiringsamples.imports')
-
- service = module.test_function()
- self.assertIsInstance(service, Service)
diff --git a/tests/unit/wiring/test_wiring_string_ids_py36.py b/tests/unit/wiring/test_wiring_string_ids_py36.py
deleted file mode 100644
index be546db8..00000000
--- a/tests/unit/wiring/test_wiring_string_ids_py36.py
+++ /dev/null
@@ -1,439 +0,0 @@
-import contextlib
-from decimal import Decimal
-import importlib
-import unittest
-
-from dependency_injector.wiring import (
- wire,
- Provide,
- Provider,
- Closing,
- register_loader_containers,
- unregister_loader_containers,
-)
-from dependency_injector import containers, providers, errors
-
-# Runtime import to avoid syntax errors in samples on Python < 3.5
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-_SAMPLES_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../samples/',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-sys.path.append(_SAMPLES_DIR)
-
-from asyncutils import AsyncTestCase
-
-from wiringstringidssamples import module, package
-from wiringstringidssamples.service import Service
-from wiringstringidssamples.container import Container, SubContainer
-
-
-class WiringTest(unittest.TestCase):
-
- container: Container
-
- def setUp(self) -> None:
- self.container = Container(config={'a': {'b': {'c': 10}}})
- self.container.wire(
- modules=[module],
- packages=[package],
- )
- self.addCleanup(self.container.unwire)
-
- def test_package_lookup(self):
- from wiringstringidssamples.package import test_package_function
- service = test_package_function()
- self.assertIsInstance(service, Service)
-
- def test_package_subpackage_lookup(self):
- from wiringstringidssamples.package.subpackage import test_package_function
- service = test_package_function()
- self.assertIsInstance(service, Service)
-
- def test_package_submodule_lookup(self):
- from wiringstringidssamples.package.subpackage.submodule import test_function
- service = test_function()
- self.assertIsInstance(service, Service)
-
- def test_module_attributes_wiring(self):
- self.assertIsInstance(module.service, Service)
- self.assertIsInstance(module.service_provider(), Service)
- self.assertIsInstance(module.undefined, Provide)
-
- def test_class_wiring(self):
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.service, Service)
-
- def test_class_wiring_context_arg(self):
- test_service = self.container.service()
-
- test_class_object = module.TestClass(service=test_service)
- self.assertIs(test_class_object.service, test_service)
-
- def test_class_method_wiring(self):
- test_class_object = module.TestClass()
- service = test_class_object.method()
- self.assertIsInstance(service, Service)
-
- def test_class_classmethod_wiring(self):
- service = module.TestClass.class_method()
- self.assertIsInstance(service, Service)
-
- def test_instance_classmethod_wiring(self):
- instance = module.TestClass()
- service = instance.class_method()
- self.assertIsInstance(service, Service)
-
- def test_class_staticmethod_wiring(self):
- service = module.TestClass.static_method()
- self.assertIsInstance(service, Service)
-
- def test_instance_staticmethod_wiring(self):
- instance = module.TestClass()
- service = instance.static_method()
- self.assertIsInstance(service, Service)
-
- def test_class_attribute_wiring(self):
- self.assertIsInstance(module.TestClass.service, Service)
- self.assertIsInstance(module.TestClass.service_provider(), Service)
- self.assertIsInstance(module.TestClass.undefined, Provide)
-
- def test_function_wiring(self):
- service = module.test_function()
- self.assertIsInstance(service, Service)
-
- def test_function_wiring_context_arg(self):
- test_service = self.container.service()
-
- service = module.test_function(service=test_service)
- self.assertIs(service, test_service)
-
- def test_function_wiring_provider(self):
- service = module.test_function_provider()
- self.assertIsInstance(service, Service)
-
- def test_function_wiring_provider_context_arg(self):
- test_service = self.container.service()
-
- service = module.test_function_provider(service_provider=lambda: test_service)
- self.assertIs(service, test_service)
-
- def test_configuration_option(self):
- (
- value_int,
- value_float,
- value_str,
- value_decimal,
- value_required,
- value_required_int,
- value_required_float,
- value_required_str,
- value_required_decimal,
- ) = module.test_config_value()
-
- self.assertEqual(value_int, 10)
- self.assertEqual(value_float, 10.0)
- self.assertEqual(value_str, '10')
- self.assertEqual(value_decimal, Decimal(10))
- self.assertEqual(value_required, 10)
- self.assertEqual(value_required_int, 10)
- self.assertEqual(value_required_float, 10.0)
- self.assertEqual(value_required_str, '10')
- self.assertEqual(value_required_decimal, Decimal(10))
-
- def test_configuration_option_required_undefined(self):
- self.container.config.reset_override()
- with self.assertRaisesRegex(errors.Error, 'Undefined configuration option "config.a.b.c"'):
- module.test_config_value_required_undefined()
-
- def test_provide_provider(self):
- service = module.test_provide_provider()
- self.assertIsInstance(service, Service)
-
- def test_provided_instance(self):
- class TestService:
- foo = {
- 'bar': lambda: 10,
- }
-
- with self.container.service.override(TestService()):
- some_value = module.test_provided_instance()
- self.assertEqual(some_value, 10)
-
- def test_subcontainer(self):
- some_value = module.test_subcontainer_provider()
- self.assertEqual(some_value, 1)
-
- def test_config_invariant(self):
- config = {
- 'option': {
- 'a': 1,
- 'b': 2,
- },
- 'switch': 'a',
- }
- self.container.config.from_dict(config)
-
- value_default = module.test_config_invariant()
- self.assertEqual(value_default, 1)
-
- with self.container.config.switch.override('a'):
- value_a = module.test_config_invariant()
- self.assertEqual(value_a, 1)
-
- with self.container.config.switch.override('b'):
- value_b = module.test_config_invariant()
- self.assertEqual(value_b, 2)
-
- def test_wire_with_class_error(self):
- with self.assertRaises(Exception):
- wire(
- container=Container,
- modules=[module],
- )
-
- def test_unwire_function(self):
- self.container.unwire()
- self.assertIsInstance(module.test_function(), Provide)
-
- def test_unwire_class(self):
- self.container.unwire()
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.service, Provide)
-
- def test_unwire_class_method(self):
- self.container.unwire()
- test_class_object = module.TestClass()
- self.assertIsInstance(test_class_object.method(), Provide)
-
- def test_unwire_package_function(self):
- self.container.unwire()
- from wiringstringidssamples.package.subpackage.submodule import test_function
- self.assertIsInstance(test_function(), Provide)
-
- def test_unwire_package_function_by_reference(self):
- from wiringstringidssamples.package.subpackage import submodule
- self.container.unwire()
- self.assertIsInstance(submodule.test_function(), Provide)
-
- def test_unwire_module_attributes(self):
- self.container.unwire()
- self.assertIsInstance(module.service, Provide)
- self.assertIsInstance(module.service_provider, Provider)
- self.assertIsInstance(module.undefined, Provide)
-
- def test_unwire_class_attributes(self):
- self.container.unwire()
- self.assertIsInstance(module.TestClass.service, Provide)
- self.assertIsInstance(module.TestClass.service_provider, Provider)
- self.assertIsInstance(module.TestClass.undefined, Provide)
-
- def test_wire_multiple_containers(self):
- sub_container = SubContainer()
- sub_container.wire(
- modules=[module],
- packages=[package],
- )
- self.addCleanup(sub_container.unwire)
-
- service, some_value = module.test_provide_from_different_containers()
-
- self.assertIsInstance(service, Service)
- self.assertEqual(some_value, 1)
-
- def test_closing_resource(self):
- from wiringstringidssamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function()
- self.assertIsInstance(result_1, resourceclosing.Service)
- self.assertEqual(result_1.init_counter, 1)
- self.assertEqual(result_1.shutdown_counter, 1)
-
- result_2 = resourceclosing.test_function()
- self.assertIsInstance(result_2, resourceclosing.Service)
- self.assertEqual(result_2.init_counter, 2)
- self.assertEqual(result_2.shutdown_counter, 2)
-
- self.assertIsNot(result_1, result_2)
-
- def test_closing_resource_context(self):
- from wiringstringidssamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
- service = resourceclosing.Service()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function(service=service)
- self.assertIs(result_1, service)
- self.assertEqual(result_1.init_counter, 0)
- self.assertEqual(result_1.shutdown_counter, 0)
-
- result_2 = resourceclosing.test_function(service=service)
- self.assertIs(result_2, service)
- self.assertEqual(result_2.init_counter, 0)
- self.assertEqual(result_2.shutdown_counter, 0)
-
- def test_class_decorator(self):
- service = module.test_class_decorator()
- self.assertIsInstance(service, Service)
-
- def test_container(self):
- service = module.test_container()
- self.assertIsInstance(service, Service)
-
-
-class WiringAndFastAPITest(unittest.TestCase):
-
- container: Container
-
- def test_bypass_marker_injection(self):
- container = Container()
- container.wire(modules=[module])
- self.addCleanup(container.unwire)
-
- service = module.test_function(service=Provide[Container.service])
- self.assertIsInstance(service, Service)
-
- def test_closing_resource_bypass_marker_injection(self):
- from wiringstringidssamples import resourceclosing
-
- resourceclosing.Service.reset_counter()
-
- container = resourceclosing.Container()
- container.wire(modules=[resourceclosing])
- self.addCleanup(container.unwire)
-
- result_1 = resourceclosing.test_function(
- service=Closing[Provide[resourceclosing.Container.service]],
- )
- self.assertIsInstance(result_1, resourceclosing.Service)
- self.assertEqual(result_1.init_counter, 1)
- self.assertEqual(result_1.shutdown_counter, 1)
-
- result_2 = resourceclosing.test_function(
- service=Closing[Provide[resourceclosing.Container.service]],
- )
- self.assertIsInstance(result_2, resourceclosing.Service)
- self.assertEqual(result_2.init_counter, 2)
- self.assertEqual(result_2.shutdown_counter, 2)
-
- self.assertIsNot(result_1, result_2)
-
-
-class WireDynamicContainerTest(unittest.TestCase):
-
- def test_wire(self):
- sub = containers.DynamicContainer()
- sub.int_object = providers.Object(1)
-
- container = containers.DynamicContainer()
- container.config = providers.Configuration()
- container.service = providers.Factory(Service)
- container.sub = sub
-
- container.wire(
- modules=[module],
- packages=[package],
- )
- self.addCleanup(container.unwire)
-
- service = module.test_function()
- self.assertIsInstance(service, Service)
-
-
-class WiringAsyncInjectionsTest(AsyncTestCase):
-
- def test_async_injections(self):
- from wiringstringidssamples import asyncinjections
-
- container = asyncinjections.Container()
- container.wire(modules=[asyncinjections])
- self.addCleanup(container.unwire)
-
- asyncinjections.resource1.reset_counters()
- asyncinjections.resource2.reset_counters()
-
- resource1, resource2 = self._run(asyncinjections.async_injection())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 1)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 0)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 1)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 0)
-
- def test_async_injections_with_closing(self):
- from wiringstringidssamples import asyncinjections
-
- container = asyncinjections.Container()
- container.wire(modules=[asyncinjections])
- self.addCleanup(container.unwire)
-
- asyncinjections.resource1.reset_counters()
- asyncinjections.resource2.reset_counters()
-
- resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 1)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 1)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 1)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 1)
-
- resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
-
- self.assertIs(resource1, asyncinjections.resource1)
- self.assertEqual(asyncinjections.resource1.init_counter, 2)
- self.assertEqual(asyncinjections.resource1.shutdown_counter, 2)
-
- self.assertIs(resource2, asyncinjections.resource2)
- self.assertEqual(asyncinjections.resource2.init_counter, 2)
- self.assertEqual(asyncinjections.resource2.shutdown_counter, 2)
-
-
-class AutoLoaderTest(unittest.TestCase):
-
- container: Container
-
- def setUp(self) -> None:
- self.container = Container(config={'a': {'b': {'c': 10}}})
- importlib.reload(module)
-
- def tearDown(self) -> None:
- with contextlib.suppress(ValueError):
- unregister_loader_containers(self.container)
-
- self.container.unwire()
-
- @classmethod
- def tearDownClass(cls) -> None:
- importlib.reload(module)
-
- def test_register_container(self):
- register_loader_containers(self.container)
- importlib.reload(module)
-
- service = module.test_function()
- self.assertIsInstance(service, Service)
diff --git a/tests/unit/wiring/test_wiringfastapi_py36.py b/tests/unit/wiring/test_wiringfastapi_py36.py
deleted file mode 100644
index 68b2ae0b..00000000
--- a/tests/unit/wiring/test_wiringfastapi_py36.py
+++ /dev/null
@@ -1,52 +0,0 @@
-from httpx import AsyncClient
-
-# Runtime import to avoid syntax errors in samples on Python < 3.5 and reach top-dir
-import os
-_TOP_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../',
- )),
-)
-_SAMPLES_DIR = os.path.abspath(
- os.path.sep.join((
- os.path.dirname(__file__),
- '../samples/',
- )),
-)
-import sys
-sys.path.append(_TOP_DIR)
-sys.path.append(_SAMPLES_DIR)
-
-from asyncutils import AsyncTestCase
-
-from wiringfastapi import web
-
-
-class WiringFastAPITest(AsyncTestCase):
-
- client: AsyncClient
-
- def setUp(self) -> None:
- super().setUp()
- self.client = AsyncClient(app=web.app, base_url='http://test')
-
- def tearDown(self) -> None:
- self._run(self.client.aclose())
- super().tearDown()
-
- def test_depends_marker_injection(self):
- class ServiceMock:
- async def process(self):
- return 'Foo'
-
- with web.container.service.override(ServiceMock()):
- response = self._run(self.client.get('/'))
-
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.json(), {'result': 'Foo'})
-
- def test_depends_injection(self):
- response = self._run(self.client.get('/auth', auth=('john_smith', 'secret')))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.json(), {'username': 'john_smith', 'password': 'secret'})
diff --git a/tests/unit/wiring/test_with_stdlib_queue_py36.py b/tests/unit/wiring/test_with_stdlib_queue_py36.py
new file mode 100644
index 00000000..f80ce981
--- /dev/null
+++ b/tests/unit/wiring/test_with_stdlib_queue_py36.py
@@ -0,0 +1,22 @@
+"""Tests for wiring causes no issues with queue.Queue from std lib."""
+
+from pytest import fixture
+
+from samples.wiring import queuemodule
+from samples.wiring.container import Container
+
+
+@fixture
+def container():
+ container = Container()
+ yield container
+ container.unwire()
+
+
+def test_wire_queue(container: Container):
+ # See: https://github.com/ets-labs/python-dependency-injector/issues/362
+ # Should not raise exception
+ try:
+ container.wire(modules=[queuemodule])
+ except:
+ raise
diff --git a/tox.ini b/tox.ini
index fdf2571e..726e77bc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,9 +1,11 @@
[tox]
envlist=
- coveralls, pylint, flake8, pydocstyle, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy2, pypy3
+ coveralls, pylint, flake8, pydocstyle, 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, pypy2, pypy3
[testenv]
deps=
+ pytest
+ pytest-asyncio
# TODO: Hotfix, remove when fixed https://github.com/aio-libs/aiohttp/issues/5107
typing_extensions
httpx
@@ -17,12 +19,12 @@ extras=
pydantic
flask
aiohttp
-commands=
- python -m unittest discover -s tests/unit -p test_*_py3*.py
+commands = pytest -c tests/.configs/pytest.ini
+python_files = test_*_py3*.py
[testenv:coveralls]
passenv = GITHUB_* COVERALLS_*
-basepython=python3.9
+basepython=python3.10
usedevelop=True
deps=
{[testenv]deps}
@@ -31,45 +33,40 @@ deps=
coveralls
commands=
coverage erase
- coverage run --rcfile=./.coveragerc -m unittest discover -s tests/unit/ -p test_*_py3*.py
+ coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
coverage report --rcfile=./.coveragerc
coveralls
[testenv:2.7]
deps=
+ pytest
extras=
yaml
flask
-commands=
- python -m unittest discover -s tests/unit -p test_*_py2_py3.py
-
-[testenv:3.4]
-deps=
- contextvars
-extras=
- flask
-commands=
- python -m unittest discover -s tests/unit -p test_*_py3.py
+commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:3.5]
deps=
+ pytest
+ pytest-asyncio
contextvars
extras=
yaml
flask
-commands=
- python -m unittest discover -s tests/unit -p test_*_py3.py
+commands = pytest -c tests/.configs/pytest-py35.ini
[testenv:pypy2]
deps=
+ pytest
extras=
yaml
flask
-commands=
- python -m unittest discover -s tests/unit -p test_*_py2_py3.py
+commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:pypy3]
deps=
+ pytest
+ pytest-asyncio
httpx
fastapi
boto3
@@ -77,8 +74,7 @@ deps=
extras=
yaml
flask
-commands=
- python -m unittest discover -s tests/unit -p test_*_py2_py3.py
+commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:pylint]