Package pythonutils :: Module configobj
[hide private]
[frames] | no frames]

Module configobj
source code

Classes [hide private]
VdtMissingValue No value was supplied to a check that needed one.
UnknownType  
Builder  
ConfigObjError This is the base class for all errors that ConfigObj raises.
NestingError This error indicates a level of nesting that doesn't match.
ParseError This error indicates that a line is badly written.
DuplicateError The keyword or section specified already exists.
ConfigspecError An error occured whilst parsing a configspec.
InterpolationError Base class for the two interpolation errors.
InterpolationDepthError Maximum interpolation depth exceeded in string interpolation.
RepeatSectionError This error indicates additional sections in a section with a __many__ (repeated) section.
MissingInterpolationOption A value specified for interpolation was missing.
Section A dictionary-like object that represents a section in a config file.
ConfigObj An object to read, create, and write config files.
SimpleVal A simple validator.

Functions [hide private]
  enumerate(obj)
enumerate for Python 2.2.
  getObj(s)
  unrepr(s)
  flatten_errors(cfg, res, levels=None, results=None)
An example function that will turn a nested dictionary of results (as returned by ConfigObj.validate) into a flat list.

Variables [hide private]
INTP_VER  
BOMS  
BOM_LIST  
BOM_SET  
__version__  
__revision__  
DEFAULT_INDENT_TYPE  
NUM_INDENT_SPACES  
MAX_INTERPOL_DEPTH  
OPTION_DEFAULTS  
generators  

Imports: sys, os, re, compiler, types.StringTypes, warnings.warn, codecs.BOM_UTF8, codecs.BOM_UTF16, codecs.BOM_UTF16_BE, codecs.BOM_UTF16_LE

Function Details [hide private]

enumerate(obj)

source code 
enumerate for Python 2.2.

getObj(s)

source code 

unrepr(s)

source code 

flatten_errors(cfg, res, levels=None, results=None)

source code 

An example function that will turn a nested dictionary of results (as returned by ConfigObj.validate) into a flat list.

cfg is the ConfigObj instance being checked, res is the results dictionary returned by validate.

(This is a recursive function, so you shouldn't use the levels or results arguments - they are used by the function.

Returns a list of keys that failed. Each member of the list is a tuple :

([list of sections...], key, result)

If validate was called with preserve_errors=False (the default) then result will always be False.

list of sections is a flattened list of sections that the key was found in.

If the section was missing then key will be None.

If the value (or section) was missing then result will be False.

If validate was called with preserve_errors=True and a value was present, but failed the check, then result will be the exception object returned. You can use this as a string that describes the failure.

For example The value "3" is of the wrong type.

>>> import validate
>>> vtor = validate.Validator()
>>> my_ini = '''
...     option1 = True
...     [section1]
...     option1 = True
...     [section2]
...     another_option = Probably
...     [section3]
...     another_option = True
...     [[section3b]]
...     value = 3
...     value2 = a
...     value3 = 11
...     '''
>>> my_cfg = '''
...     option1 = boolean()
...     option2 = boolean()
...     option3 = boolean(default=Bad_value)
...     [section1]
...     option1 = boolean()
...     option2 = boolean()
...     option3 = boolean(default=Bad_value)
...     [section2]
...     another_option = boolean()
...     [section3]
...     another_option = boolean()
...     [[section3b]]
...     value = integer
...     value2 = integer
...     value3 = integer(0, 10)
...         [[[section3b-sub]]]
...         value = string
...     [section4]
...     another_option = boolean()
...     '''
>>> cs = my_cfg.split('\n')
>>> ini = my_ini.split('\n')
>>> cfg = ConfigObj(ini, configspec=cs)
>>> res = cfg.validate(vtor, preserve_errors=True)
>>> errors = []
>>> for entry in flatten_errors(cfg, res):
...     section_list, key, error = entry
...     section_list.insert(0, '[root]')
...     if key is not None:
...        section_list.append(key)
...     else:
...         section_list.append('[missing]')
...     section_string = ', '.join(section_list)
...     errors.append((section_string, ' = ', error))
>>> errors.sort()
>>> for entry in errors:
...     print entry[0], entry[1], (entry[2] or 0)
[root], option2  =  0
[root], option3  =  the value "Bad_value" is of the wrong type.
[root], section1, option2  =  0
[root], section1, option3  =  the value "Bad_value" is of the wrong type.
[root], section2, another_option  =  the value "Probably" is of the wrong type.
[root], section3, section3b, section3b-sub, [missing]  =  0
[root], section3, section3b, value2  =  the value "a" is of the wrong type.
[root], section3, section3b, value3  =  the value "11" is too big.
[root], section4, [missing]  =  0

Variables Details [hide private]

INTP_VER

Value:
(2, 4)                                                                 
      

BOMS

Value:
{'\xef\xbb\xbf': ('utf_8', None),
 '\xfe\xff': ('utf16_be', 'utf_16'),
 '\xff\xfe': ('utf_16', 'utf_16')}                                     
      

BOM_LIST

Value:
{'u16': 'utf_16',
 'u8': 'utf_8',
 'utf': 'utf_8',
 'utf-16': 'utf_16',
 'utf-16be': 'utf16_be',
 'utf-16le': 'utf16_le',
 'utf-8': 'utf_8',
 'utf16': 'utf_16',
...                                                                    
      

BOM_SET

Value:
{None: '\xef\xbb\xbf',
 'utf16_be': '\xfe\xff',
 'utf16_le': '\xff\xfe',
 'utf_16': '\xff\xfe',
 'utf_8': '\xef\xbb\xbf'}                                              
      

__version__

Value:
'4.3.1'                                                                
      

__revision__

Value:
'$Id: configobj.py 156 2006-01-31 14:57:08Z fuzzyman $'                
      

DEFAULT_INDENT_TYPE

Value:
' '                                                                    
      

NUM_INDENT_SPACES

Value:
4                                                                     
      

MAX_INTERPOL_DEPTH

Value:
10                                                                    
      

OPTION_DEFAULTS

Value:
{'configspec': None,
 'create_empty': False,
 'default_encoding': None,
 'encoding': None,
 'file_error': False,
 'indent_type': None,
 'interpolation': True,
 'list_values': True,
...                                                                    
      

generators

Value:
_Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 4096)