lundybernard / batconf

Application configuration tool from the BAT project
MIT License
2 stars 0 forks source link

sub-module config env_name path missing BAT_ prefix #2

Open lundybernard opened 3 years ago

lundybernard commented 3 years ago

When you have a sub_config

conf = get_config(GlobalConfig)
sub_config = conf.my_module
print(sub_config.item)

We expect the ENV path for an item to be BAT_MY_MODULE_ITEM however, batconf.sources.env.py: EnvConfig currently looks for MY_MODULE_ITEM

We should also handle sub-modules recursively, for instance conf.my_module.sub_module.item should lookup BAT_MY_MODULE_SUB_MODULE_ITEM whether regardless of which config we look it up from:

conf = get_config(GlobalConfig)
print(conf.mod_config.sub_mod_config.item)
mod_config = conf.my_module
print(mod_config.sub_mod_config.item)
sub_mod_config = mod_config.sub_module
print(sub_mod_config.item)

should all lookup the same ENV variable