Skip to main content

Generic modularized configuration file manager

Project description

The update-dotdee program makes it very easy to manage (configuration) files with modular contents in the style of Debian and dotdee. The program takes the pathname of an existing file and updates that file based on the contents of the files in the directory with the same name as the file but ending in .d. For example:

peter@macbook> sudo update-dotdee /etc/hosts
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/1-local
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/2-work
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/3-ipv6
2013-07-06 20:59:24 macbook INFO Checking for local changes to /etc/hosts
2013-07-06 19:32:03 macbook INFO Writing file: /etc/hosts

Some notes about how it works:

  • If the given file exists but the corresponding directory does not exist yet, the directory is created and the file is moved into the directory (and renamed to local) so that its existing contents are preserved.

  • If the generated file has been modified since the last run, update-dotdee will refuse to overwrite its contents (unless you use the --force option).

  • The files in the .d directory are concatenated in the natural sorting order of the filenames (as implemented by the naturalsort package).

Installation

You can install the update-dotdee program using the following command:

pip install update-dotdee

Contact

The latest version of update-dotdee is available on PyPi and GitHub. For bug reports please create an issue on GitHub. If you have questions, suggestions, etc. feel free to send me an e-mail at peter@peterodding.com.

License

This software is licensed under the MIT license.

© 2013 Peter Odding.

Project details


Download files

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

Source Distribution

update-dotdee-1.0.6.tar.gz (5.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page