-
-
Notifications
You must be signed in to change notification settings - Fork 336
Closed
Labels
Description
My proposal is to add the __enter__
and __exit__
methods to the providers.Configuration
class to reduce code duplication and improve the visualization of configuration blocks.
Example of such case:
from dependency_injector import providers
from environs import Env
env = Env()
config = providers.Configuration()
config.some_plugin_name.some_interval_ms.override(
env.int(
"SOME_INTERVAL_MS",
default=30000
)
)
config.some_plugin_name.kafka.bootstrap_servers.override(
env.list(
"KAFKA_BOOTSTRAP_SERVERS"
)
)
config.some_plugin_name.kafka.security_protocol.override(
env.str(
"KAFKA_SECURITY_PROTOCOL",
default="SASL_SSL"
)
)
# ...
from dependency_injector import providers
from environs import Env
env = Env()
config = providers.Configuration()
with config.some_plugin_name as plugin:
plugin.some_interval_ms.override(
env.int(
"SOME_INTERVAL_MS",
default=30000
)
)
with plugin.kafka as kafka:
kafka.bootstrap_servers.override(
env.list(
"KAFKA_BOOTSTRAP_SERVERS"
)
)
kafka.security_protocol.override(
env.str(
"KAFKA_SECURITY_PROTOCOL",
default="SASL_SSL"
)
)
# ...