There was a bug in release 4.5.1 of ConfigObj, so there is now an updated release:
* `ConfigObj 4.5.2 <http://www.voidspace.org.uk/python/ configobj.html>`_ * `Validate 0.3.2 <http://www.voidspace.org.uk/python/validate.html>`_ The bug affected the use of ``None`` as a default value in configspecs and is now fixed. What are ConfigObj and Validate? ========================= **ConfigObj** is a simple to use but powerful configuration file management library. Features include: * Nested sections to any depth * Unicode support * List and multiline values * Integrated with a powerful validation system - including automatic type checking/conversion - repeated sections - and allowing default values * All comments in a file are preserved when writing * The order of keys/sections is preserved * A powerful unrepr mode for storing basic datatypes **validate** is the module (optional) used for config file validation and type marshalling. It can be used outside of ConfigObj for matching string values against a text specification which also does type conversion. Changes in ConfigObj 4.5.x ==================== Distribution now includes validate 0.3.2 so ``None`` as a default value in configspecs works again. BUGFIX: Unicode configspecs now work. ConfigObj will now guarantee that files will be written terminated with a newline. ConfigObj will no longer attempt to import the ``validate`` module, until/unless you call ``ConfigObj.validate`` with ``preserve_errors=True``. This makes it faster to import. New methods ``restore_default`` and ``restore_defaults``. ``restore_default`` resets an entry to its default value (and returns that value). ``restore_defaults`` resets all entries to their default value. It doesn't modify entries without a default value. You must have validated a ConfigObj (which populates the ``default_values`` dictionary) before calling these methods. BUGFIX: Proper quoting of keys, values and list values that contain hashes (when writing). When ``list_values=False``, values containing hashes are triple quoted. Added the ``reload`` method. This reloads a ConfigObj from file. If the filename attribute is not set then a ``ReloadError`` (a new exception inheriting from ``IOError``) is raised. BUGFIX: Files are read in with 'rb' mode, so that native/non-native line endings work! Minor efficiency improvement in ``unrepr`` mode. Added missing docstrings for some overridden dictionary methods. Added the ``reset`` method. This restores a ConfigObj to a freshly created state. Removed old CHANGELOG file. Changes in Validate 0.3.x ================== BUGFIX: ``None`` as a default value handled correctly. BUGFIX: Unicode checks no longer broken. Improved performance with a parse cache. New ``get_default_value`` method. Given a check it returns the default value (converted to the correct type) or raises a ``KeyError`` if the check doesn't specify a default. Added 'tuple' check and corresponding 'is_tuple' function (which always returns a tuple). BUGFIX: A quoted 'None' as a default value is no longer treated as None, but as the string 'None'. BUGFIX: We weren't unquoting keyword arguments of length two, so an empty string didn't work as a default. BUGFIX: Strings no longer pass the 'is_list' check. Additionally, the list checks always return lists. A couple of documentation bug fixes. Removed CHANGELOG from module. Michael Foord -- http://mail.python.org/mailman/listinfo/python-list