0

Added a new section entitled 'A dynamic config file'.

It explains the use of environment variables in the config file to dynamically retrieve parameters.
This commit is contained in:
stoneLeaf
2012-04-10 18:07:44 +03:00
parent 56b91e67dc
commit e2b24a7a0f

View File

@@ -115,6 +115,53 @@ individual renders to apply to just those renders.
See the ``sample_config.py`` file included in the repository for another See the ``sample_config.py`` file included in the repository for another
example. example.
A dynamic config file
=====================
It might be handy to dynamically retrieve parameters. For instance, if you
periodically render your last map backup which is located in a timestamped
directory, it is not convenient to edit the config file each time to fit the
new directory name.
Using environment variables, you can easily retrieve a parameter which has
been set by, for instance, your map backup script. In this example, Overviewer is
called from a *bash* script, but it can be done from other shell scripts and
languages.
::
## The bash script
# Setting up an environment variable that child processes will inherit
MYWORLD_DIR=/path/to/map/backup/$yourtimestamp/YourWorld
export MYWORLD_DIR
# Running the Overviwer
overviewer.py --config=/path/to/yourConfig.py
.. note::
The environment variable will only be local to the process and its child
processes. In this example, the Overviewer will be able to access the
variable since it becomes a child process.
::
## The config file
# Importing the os python module
import os
# Retrieving the environment variable
worlds["My world"] = os.environ['MYWORLD_DIR']
renders["normalrender"] = {
"world": "My world",
"title": "Normal Render of My World",
}
outputdir = "/home/username/mcmap"
Config File Specifications Config File Specifications
========================== ==========================