Mercurial > hg > configuration
annotate README.txt @ 69:92c11cd1d27e
now we check for types more betterer
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Wed, 28 Mar 2012 11:05:29 -0700 |
parents | 1025d283a570 |
children | 451aeb35ec04 |
rev | line source |
---|---|
0 | 1 configuration |
2 =========== | |
3 | |
16
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
4 multi-level unified configuration for python consumption |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
5 |
68 | 6 - you have a (python) program that wants to read configuration from |
7 configuration files (I currently support JSON and YAML) and also | |
8 from the command line | |
9 - you want to be able to serialize and deserialize configuration | |
10 | |
16
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
11 API |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
12 --- |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
13 |
68 | 14 The ``configuration.Configuration`` class implements an abstract base |
15 class that extends ``optparse.OptionParser``. The form of the | |
16 configuration is dictated by setting the ``options`` attribute on your | |
17 subclass. ``options`` is a dictionary of the form:: | |
18 | |
19 {'name': {<value>}} | |
20 | |
21 ``name`` is the name of the configuration option, and ``value`` is a | |
22 ``dict`` that gives the form of the option. | |
23 | |
24 | |
25 For an example, see | |
26 http://k0s.org/mozilla/hg/configuration/file/c831eb58fb52/tests/example.py#l7 | |
16
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
27 |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
28 |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
29 Configuration Files |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
30 ------------------- |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
31 |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
32 Config files are useful for (IMHO) A. complicated setup; |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
33 B. reproducibility; C. being able to share run time configurations |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
34 The latter is only useful if the configuration contains nothing |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
35 machine-specific (e.g. the path to an executable might vary from |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
36 machine to machine) or if the configuration is overridable from the |
b7e7f450ad1a
why do we care about configuration files?
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
37 command line. |
0 | 38 |
39 ---- | |
40 | |
41 Jeff Hammel | |
42 | |
43 http://k0s.org/mozilla/hg/configuration | |
44 |