[ANN] ConfigObj Update and New PythonUtils Package

Discussion in 'Python' started by Fuzzyman, Mar 9, 2005.

  1. Fuzzyman

    Fuzzyman Guest

    ConfigObj has had another update - now version 3.3.0
    Several of the Voidspace PythonUtils modules have been packaged
    together as the 'Voidspace Pythonutils Package'. This makes it easier
    to release packages that depend on ConfigObj and the other modules.

    This update includes several important new features and bugfixes.
    New features include - string interpolation similar to ConfigParser,
    unicode support for reading and writing of config files, and a
    validation schema for validating config files. The validation schema is
    implemented using validate.py, which is co-written by Mark Andrews and
    maintained at http://www.la-la.com (although included in all the
    distributions). The unicode support will recognise and preserve the
    UTF-8 BOM when reading/writing files. Check out the docs for full
    details of the changes and how they work.

    Homepage : http://www.voidspace.org.uk/py­thon/configobj.html
    For downloading, see the download section of the homepage.
    NEW ConfigObj API Docs Online :

    What is ConfigObj
    A python module (class) for ultra simple reading and writing of simple
    config files, including config files with sections. Designed to allow
    the greatest flexibility in the config files it will read (and your
    users will create).

    Many flexible features - but you don't need to use them !

    What's New ?
    Changes in the new version :

    2005/03/01 Version 3.3.0b
    Requires listquote 1.2.0 - which is improved/optimised
    Requires caseless 2.2.0 which has support for unicode
    Adding support for validation using the configspec
    To be done with an external validator. (Validator class created
    with help of Mark Andrews)
    This means added methods/attributes :
    parseconfigspec method
    stripconfigspec method
    validate method
    __configspec__ attribute
    BOM attribute
    Experimental unicode internally. 'encoding' and 'backup_encoding'
    keywords added
    'lists' keyword added - can turn off list handling (lists are left as
    A ConfigObj can be created by passing in a dictionary
    Added a __repr__ method for the ConfigObj
    configspec can now be a filename (or StringIO instance...) - including
    for the write method
    Now raises a TypeError rather than a KeyError if you pass in invalid
    writein can now return a config file as a list of lines if no filename
    is set
    duplicate keys/sections in writein now raise 'duplicate' errors, rather
    than 'conspecerror'
    String interpolation from the 'default' section - using '%(keyword)s'
    format - similar to ConfigParser
    Attribute access as well as dictionary syntax
    Added a test for lists
    Coerce sections created as dictionaries to caselessDict (bug fix)
    Escaped '&mjf-lf;' and '&mjf-quot;' in unquoted values are converted
    (bug fix)
    Bug fixed in configspec with section files (bug fix)
    Bug fix in reporting of duplicate sections with configspec. (bug fix)
    Fixed bugs in sectionfiles with 'configspec_only' (errors in the empty
    last section would be missed) (bug fix)
    Bug fix in __buildconfigspec (bug fix)
    Improved support for '/*... */' in the writein method (bug fix)
    Fixed typo in verify and reset methods (bug fix)
    configspec is no longer destroyed for flatfiles (bug fix)
    Missing keys and Extra keys errors the wrong way round in write method
    (bug fix)
    Plus other minor bugfixes, simplifications and optimisations

    The next version will have some refactoring to use more reg-exes in
    parsing (I've had to succomb and import re for string interpolation so
    I might as well make better use of it) and improvements to the error

    *NEW* Voidspace PythonUtils Package
    Version 0.1.0 1st March 2005

    The Voidspace Pythonutils package is a simple way of installing the
    Voidspace collection of modules. For programs that use ConfigObj (which
    also requires caseless and listquote), it is simpler to install this
    package than to use the modules separately. This makes it simpler to
    distribute programs that depend on ConfigObj, without you having to
    distribute ConfigObj as well. Of course all the modules are useful in
    their own right. The modules included are :

    * ConfigObj - simple config file handling
    * caseless - case insensitive datatypes and sorting
    * listquote - list and element handling
    * validate - schema validation system
    * StandOut - flexible output object (simple logging and verbosity
    * pathutils - for working with paths and files
    * cgiutils - cgi helpers


    Fuzzyman, Mar 9, 2005
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.