Skip to main content

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

config parser documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for config-enhance, version 1.2.2
Filename, size File type Python version Upload date Hashes
Filename, size config_enhance-1.2.2-py2.7.egg (7.9 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size config-enhance-1.2.2.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page