young8 / genconf

A simple-to-use, template-based configuration file generator powered by python/genshi/yaml

Home Page:http://www.iglootools.org/genconf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

= Features =
* Mixins (multiple inheritance between profiles)
* Output filenames can use profiles' properties (e.g. target/genconf/${profile}/igloofinder-config.properties)
* Automatic variables and functions:
** ${profile}
** ${truefalse(b)}
** ${either(b, 'val-if-true', 'val-if-false'}
* Override mechanism (~/.genconf-overrides.yaml) so that each user can have its own login/password/etc stuff

= Setup =
* sudo apt-get install python-setuptools python-pkg-resources python-yaml python-genshi python-argparse

= Create release =
bump version number in setup.py
git tag v0.x
git push origin master
git push origin --tags
./setup.py register sdist bdist_egg upload
re-create debian package (see genconf-debian project: https://github.com/iglootools/genconf-debian )

Backlog
=======
* Make most fields optional in the yaml config, and detect the default template type based on the file extension
* implement (inotify?) file system change notification mechanism to automatically re-generate the files
   Linux: inotify
   Windows: http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html

* Submit package to Ubuntu PPA/Debian
* Better open source documentation
* Better test coverage (check that the right events/listeners are called when errors happen, instead of having a manual examples/gc script)

About

A simple-to-use, template-based configuration file generator powered by python/genshi/yaml

http://www.iglootools.org/genconf

License:Apache License 2.0


Languages

Language:Python 100.0%