changeset 8:4d3ea44fd813

further spec out
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 25 May 2011 09:00:28 -0700
parents 79676a48f6d8
children ff634cc2e62b
files README.txt
diffstat 1 files changed, 30 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/README.txt	Tue May 24 19:12:09 2011 -0700
+++ b/README.txt	Wed May 25 09:00:28 2011 -0700
@@ -42,11 +42,39 @@
 path may be used. In addition, other (pluggable) loading paths are
 available:
 
-- override loader: [TODO]
+- override loader: you can use a section name like ``[foo:bar]`` to
+  override variables from the ``bar`` object with variables from
+  ``foo``::
+
+   [foo:bar]
+   . = cats, dogs
+   type = count
+
+   [bar:%(here)s/some/path.py:MyObject]
+   . = elephants
+   type = concatenate
+
+  The above results in a JSON blob for foo like::
+
+   {'foo': {'args': ['elephants', 'cats', 'dogs'],
+            'kwargs': {'type': 'concatenate'},
+            'path': '/location/of/ini/file/some/path.py:MyObject'}}
+
+  ``args`` is extended. ``kwargs`` will be overridden.
+
+- wrappers:
 
 In addition, .ini files may include other .ini files.  This allows for
-encapsulation of intent of specific .ini files.
+encapsulation of intent of specific .ini files::
+
+   [include:%(here)s/some/file.ini]
 
+INI files have a few convenience variables:
+
+- %(here)s : the location of the directory the .ini file lives in
+- %(app)s : used for wrappers
+
+Additional variables may be provided by the consumer.
 
 ----