Provide reuse to ConfigParser files.
Project description
config-enhance
config-enhance adds re-use capabilities to ConfigParser style config files.
It introduces a reserved key: ‘<<=’
The ‘<<=’ key should be assigned a list of enhancements like:
[section] <<= <other1 +other2 <other3 -other4
Each enhancement is composed of an operator followed by a section name. The operators are:
‘<’ : mix things in from another section if they don’t already exist
‘+’ : pull config from another section, overwrite settings in the current section if there is a clash.
‘-’ : remove config items that exist in the source section from this section
You can use it like this:
from config_enhance import enhance cp = ConfigParser (file ("my.cfg")) enhance(cp)
Suppose that my.cfg contains content like:
[common] flup = 1.0 requests = 2.0 [tes_100] <<= <common requests = 5.0 tornado = 6.0 [dev_tes_common] tornado = 6.0d [dev_unpin] flup = unpin [dev_tes_100] <<= <tes_100 +dev_tes_common -dev_unpin
After running enhance, ‘cp’ will be modified to contain:
[common] flup = 1.0 requests = 2.0 [tes_100] flup = 1.0 requests = 5.0 tornado = 6.0 [dev_tes_common] tornado = 6.0d [dev_unpin] flup = unpin [dev_tes_100] requests = 5.0 tornado = 6.0d
target audience
config-enhance is useful when managing version requirement sections in buildout. Buildout already contains limited reuse features through the ‘<=’ idiom. But, version management is easier with an extended set.
Other docs of interest
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.