Improve List and Configuration provider docs
This commit is contained in:
parent
2513d1f600
commit
a0a3da8f72
|
@ -7,7 +7,8 @@ Configuration providers
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/configuration/configuration.py
|
.. literalinclude:: ../../examples/providers/configuration/configuration.py
|
||||||
:language: python
|
:language: python
|
||||||
:emphasize-lines: 7,12-13,18-25
|
:emphasize-lines: 4,9-10
|
||||||
|
:lines: 4-14
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
It implements "use first, define later" principle.
|
It implements "use first, define later" principle.
|
||||||
|
@ -20,8 +21,8 @@ Loading from ``ini`` file
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/configuration/configuration_ini.py
|
.. literalinclude:: ../../examples/providers/configuration/configuration_ini.py
|
||||||
:language: python
|
:language: python
|
||||||
:lines: 6-
|
:lines: 3-5,6-
|
||||||
:emphasize-lines: 3
|
:emphasize-lines: 6
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
where ``examples/providers/configuration/config.ini`` is:
|
where ``examples/providers/configuration/config.ini`` is:
|
||||||
|
@ -42,8 +43,8 @@ Loading from ``yaml`` file
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/configuration/configuration_yaml.py
|
.. literalinclude:: ../../examples/providers/configuration/configuration_yaml.py
|
||||||
:language: python
|
:language: python
|
||||||
:lines: 6-
|
:lines: 3-5,6-
|
||||||
:emphasize-lines: 3
|
:emphasize-lines: 6
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
where ``examples/providers/configuration/config.yml`` is:
|
where ``examples/providers/configuration/config.yml`` is:
|
||||||
|
@ -62,6 +63,18 @@ variable ``ENV_NAME``.
|
||||||
`Dependency Injector` with extras ``pip install dependency-injector[yaml]`` or install
|
`Dependency Injector` with extras ``pip install dependency-injector[yaml]`` or install
|
||||||
``PyYAML`` separately ``pip install pyyaml``.
|
``PyYAML`` separately ``pip install pyyaml``.
|
||||||
|
|
||||||
|
Loading from ``dict``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
:py:class:`Configuration` provider can load configuration from Python ``dict`` using
|
||||||
|
:py:meth:`Configuration.from_dict`:
|
||||||
|
|
||||||
|
.. literalinclude:: ../../examples/providers/configuration/configuration_dict.py
|
||||||
|
:language: python
|
||||||
|
:lines: 3-5,6-
|
||||||
|
:emphasize-lines: 6-13
|
||||||
|
:linenos:
|
||||||
|
|
||||||
Loading from environment variable
|
Loading from environment variable
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -70,11 +83,10 @@ Loading from environment variable
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/configuration/configuration_env.py
|
.. literalinclude:: ../../examples/providers/configuration/configuration_env.py
|
||||||
:language: python
|
:language: python
|
||||||
:lines: 13-21
|
:lines: 5-7,13-21
|
||||||
:emphasize-lines: 3-5
|
:emphasize-lines: 6-8
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
|
|
||||||
Loading from multiple sources
|
Loading from multiple sources
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -83,8 +95,8 @@ configuration is merged recursively over existing configuration.
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/configuration/configuration_multiple.py
|
.. literalinclude:: ../../examples/providers/configuration/configuration_multiple.py
|
||||||
:language: python
|
:language: python
|
||||||
:lines: 6-14
|
:lines: 3-5,6-14
|
||||||
:emphasize-lines: 3-4
|
:emphasize-lines: 6-7
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
where ``examples/providers/configuration/config.local.yml`` is:
|
where ``examples/providers/configuration/config.local.yml`` is:
|
||||||
|
|
|
@ -7,7 +7,8 @@ List providers
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/list.py
|
.. literalinclude:: ../../examples/providers/list.py
|
||||||
:language: python
|
:language: python
|
||||||
:lines: 23-29
|
:emphasize-lines: 6-9
|
||||||
|
:lines: 6-8, 23-29
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
:py:class:`List` provider is needed for injecting a list of dependencies. It handles
|
:py:class:`List` provider is needed for injecting a list of dependencies. It handles
|
||||||
|
@ -24,7 +25,8 @@ Full example:
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/providers/list.py
|
.. literalinclude:: ../../examples/providers/list.py
|
||||||
:language: python
|
:language: python
|
||||||
:emphasize-lines: 23-29
|
:emphasize-lines: 23-26
|
||||||
|
:lines: 3-
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
"""`Configuration` provider values loading example."""
|
||||||
|
|
||||||
|
from dependency_injector import providers
|
||||||
|
|
||||||
|
|
||||||
|
config = providers.Configuration()
|
||||||
|
|
||||||
|
config.from_dict(
|
||||||
|
{
|
||||||
|
'aws': {
|
||||||
|
'access_key_id': 'KEY',
|
||||||
|
'secret_access_key': 'SECRET',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
assert config() == {'aws': {'access_key_id': 'KEY', 'secret_access_key': 'SECRET'}}
|
||||||
|
assert config.aws() == {'access_key_id': 'KEY', 'secret_access_key': 'SECRET'}
|
||||||
|
assert config.aws.access_key_id() == 'KEY'
|
||||||
|
assert config.aws.secret_access_key() == 'SECRET'
|
Loading…
Reference in New Issue