python-dependency-injector/examples/providers/configuration/configuration_multiple.py

29 lines
782 B
Python

"""`Configuration` provider values loading example."""
from dependency_injector import containers, providers
class Container(containers.DeclarativeContainer):
config = providers.Configuration()
if __name__ == "__main__":
container = Container()
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",
},
}
assert container.config.aws() == {
"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"