[Python-Dev] ConfigParser shootout, preliminary entry
Josiah Carlson
jcarlson at uci.edu
Mon Oct 18 19:46:47 CEST 2004
> Attributes may be 'generic' (untyped) or 'typed', and are stored in
> the order they are declared in the class statement. The value provided
> in the definition above is the 'default value'. Simple attributes may
> also be provided, but won't be type checked or kept in the original
> order. To read the ini file, just do this:
I think the syntax looks good, but as per a thread in python-list, you
cannot discover the order of class variables by any solution (metaclass
or otherwise), due to the fact that they become part of the class
dictionary; which is arbitrarily unordered.
If ordering is important to a user, one could have an optional __order__
attribute that gives the list of items in-order.
> class WebServerIni(IniFile):
> class server(IniSection):
> socketPort = TypedAttribute(8080)
> threadPool = TypedAttribute(10)
> class staticContent(IniSection):
> bitmaps = TypedAttribute('c:/work/bitmaps')
> class session(IniSection):
> storageType = TypedAttribute('ram')
One nice thing about your solution is that one could pull out
docstrings to provide per-section documentation in the INI file, though
per-item docstrings (like WebServerIni.session.storageType) would be a
bit more difficult.
- Josiah
More information about the Python-Dev
mailing list