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.
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 (or a section was expected and a scalar provided
- or vice-versa) 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*.
Find all the values and sections not in the configspec from a
validated ConfigObj.
``get_extra_values`` returns a list of tuples where each tuple
represents either an extra section, or an extra value.
The tuples contain two values, a tuple representing the section the
value is in and the name of the extra values. For extra values in the top
level section the first member will be an empty tuple. For values in the
'foo' section the first member will be ``('foo',)``. For members in the
'bar' subsection of the 'foo' section the first member will be ``('foo',
'bar')``.
NOTE: If you call ``get_extra_values`` on a ConfigObj instance that
hasn't been validated it will return an empty list.