instantiate a template from various parameter representations.
Project description
* Synopsis
PROJECT_NAME=yoyodyne
FCGI_PORT=9000
configen.py init.conf.template > yoyodyne.conf
When automating software configuration, one ends up using adhoc templating scheme to
parametrize config files with sed and awk. configen let's you use python's powerful
string formatting to generate config files (or any text for that matter) with
params from various sources.
* Usage
* environment variables
set a bunch of env vars in shell script and invoke from it.
env foo=bar configen template
* name-values fed to stdin
echo foo=bar | configen tempalte -s
env | configen tempalte -s
* json
configen template -j params.json
* yaml
configen template -y params.yaml
* dash '-' can be passed for stdin
* Recpie
* generating from a shell script
--------- genconf.sh
PROJECT_NAME=yoyodyne
PYTHON=/usr/bin/python
PROJECT_ROOT=/home/yoyo/dyne
RUNTIME_ROOT=/home/yoyo/dyne
FCGI_PORT=9000
USER=tengu
configen.py init.conf.t
---------
* generating a config file from makefile
export the variables and run configen as follows:
---------- Makefile
export PROJECT_NAME=yoyodyne
export PYTHON=/usr/bin/python
export PROJECT_ROOT=/home/yoyo/dyne
export RUNTIME_ROOT=/home/yoyo/dyne
export FCGI_PORT=9000
USER=tengu
yoyodyne.conf:
configen.py init.conf.t | tee $@
----------
PROJECT_NAME=yoyodyne
FCGI_PORT=9000
configen.py init.conf.template > yoyodyne.conf
When automating software configuration, one ends up using adhoc templating scheme to
parametrize config files with sed and awk. configen let's you use python's powerful
string formatting to generate config files (or any text for that matter) with
params from various sources.
* Usage
* environment variables
set a bunch of env vars in shell script and invoke from it.
env foo=bar configen template
* name-values fed to stdin
echo foo=bar | configen tempalte -s
env | configen tempalte -s
* json
configen template -j params.json
* yaml
configen template -y params.yaml
* dash '-' can be passed for stdin
* Recpie
* generating from a shell script
--------- genconf.sh
PROJECT_NAME=yoyodyne
PYTHON=/usr/bin/python
PROJECT_ROOT=/home/yoyo/dyne
RUNTIME_ROOT=/home/yoyo/dyne
FCGI_PORT=9000
USER=tengu
configen.py init.conf.t
---------
* generating a config file from makefile
export the variables and run configen as follows:
---------- Makefile
export PROJECT_NAME=yoyodyne
export PYTHON=/usr/bin/python
export PROJECT_ROOT=/home/yoyo/dyne
export RUNTIME_ROOT=/home/yoyo/dyne
export FCGI_PORT=9000
USER=tengu
yoyodyne.conf:
configen.py init.conf.t | tee $@
----------
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
configen-0.0.1.tar.gz
(2.3 kB
view hashes)