cashocs.io.config.Config#

class cashocs.io.config.Config(config_file: str | None = None)[source]#

Bases: ConfigParser

Class for handling the config in cashocs.

Initializes self.

Parameters:

config_file (str | None) – Path to the config file.

Methods Summary

add_section(section)

Create a new section in the configuration.

clear()

defaults()

get(section, option, *[, raw, vars, fallback])

Get an option value for a given section.

getboolean(section, option, *[, raw, vars, ...])

getfloat(section, option, *[, raw, vars, ...])

getint(section, option, *[, raw, vars, fallback])

getlist(section, option, **kwargs)

Extracts a list from a config file.

has_option(section, option)

Check for the existence of a given option in a given section.

has_section(section)

Indicate whether the named section is present in the configuration.

items([section, raw, vars])

Return a list of (name, value) tuples for each option in a section.

keys()

options(section)

Return a list of option names for the given section name.

optionxform(optionstr)

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

Remove a section from the parser and return it as a (section_name, section_proxy) tuple.

read(filenames[, encoding])

Read and parse a filename or an iterable of filenames.

read_dict(dictionary[, source])

Read configuration from a dictionary.

read_file(f[, source])

Like read() but the argument must be a file-like object.

read_string(string[, source])

Read configuration from a given string.

remove_option(section, option)

Remove an option.

remove_section(section)

Remove a file section.

sections()

Return a list of section names, excluding [DEFAULT]

set(section, option[, value])

Set an option.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

validate_config()

Validates the configuration file.

values()

write(fp[, space_around_delimiters])

Write an .ini-format representation of the configuration state.

Attributes Summary

Methods Documentation

add_section(section)#

Create a new section in the configuration. Extends RawConfigParser.add_section by validating if the section name is a string.

clear() None.  Remove all items from D.#
defaults()#
get(section, option, *, raw=False, vars=None, fallback=<object object>)#

Get an option value for a given section.

If vars is provided, it must be a dictionary. The option is looked up in vars (if provided), section, and in DEFAULTSECT in that order. If the key is not found and fallback is provided, it is used as a fallback value. None can be provided as a fallback value.

If interpolation is enabled and the optional argument raw is False, all interpolations are expanded in the return values.

Arguments raw, vars, and fallback are keyword only.

The section DEFAULT is special.

getboolean(section, option, *, raw=False, vars=None, fallback=<object object>, **kwargs)#
getfloat(section, option, *, raw=False, vars=None, fallback=<object object>, **kwargs)#
getint(section, option, *, raw=False, vars=None, fallback=<object object>, **kwargs)#
getlist(section: str, option: str, **kwargs: Any) list[source]#

Extracts a list from a config file.

Parameters:
  • section (str) – The section where the list is placed.

  • option (str) – The option which contains the list.

  • **kwargs (Any) – A list of keyword arguments that get passed to :py:meth:self.get

Returns:

The list which is specified in section section and key option.

Return type:

list

has_option(section, option)#

Check for the existence of a given option in a given section. If the specified section is None or an empty string, DEFAULT is assumed. If the specified section does not exist, returns False.

has_section(section)#

Indicate whether the named section is present in the configuration.

The DEFAULT section is not acknowledged.

items(section=<object object>, raw=False, vars=None)#

Return a list of (name, value) tuples for each option in a section.

All % interpolations are expanded in the return values, based on the defaults passed into the constructor, unless the optional argument raw is true. Additional substitutions may be provided using the vars argument, which must be a dictionary whose contents overrides any pre-existing defaults.

The section DEFAULT is special.

keys() a set-like object providing a view on D's keys#
options(section)#

Return a list of option names for the given section name.

optionxform(optionstr)#
pop(k[, d]) v, remove specified key and return the corresponding value.#

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()#

Remove a section from the parser and return it as a (section_name, section_proxy) tuple. If no section is present, raise KeyError.

The section DEFAULT is never returned because it cannot be removed.

read(filenames, encoding=None)#

Read and parse a filename or an iterable of filenames.

Files that cannot be opened are silently ignored; this is designed so that you can specify an iterable of potential configuration file locations (e.g. current directory, user’s home directory, systemwide directory), and all existing configuration files in the iterable will be read. A single filename may also be given.

Return list of successfully read files.

read_dict(dictionary, source='<dict>')#

Read configuration from a dictionary.

Keys are section names, values are dictionaries with keys and values that should be present in the section. If the used dictionary type preserves order, sections and their keys will be added in order.

All types held in the dictionary are converted to strings during reading, including section names, option names and keys.

Optional second argument is the source specifying the name of the dictionary being read.

read_file(f, source=None)#

Like read() but the argument must be a file-like object.

The f argument must be iterable, returning one line at a time. Optional second argument is the source specifying the name of the file being read. If not given, it is taken from f.name. If f has no name attribute, <???> is used.

read_string(string, source='<string>')#

Read configuration from a given string.

remove_option(section, option)#

Remove an option.

remove_section(section)#

Remove a file section.

sections()#

Return a list of section names, excluding [DEFAULT]

set(section, option, value=None)#

Set an option. Extends RawConfigParser.set by validating type and interpolation syntax on the value.

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D#
update([E, ]**F) None.  Update D from mapping/iterable E and F.#

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

validate_config() None[source]#

Validates the configuration file.

Return type:

None

values() an object providing a view on D's values#
write(fp, space_around_delimiters=True)#

Write an .ini-format representation of the configuration state.

If space_around_delimiters is True (the default), delimiters between keys and values are surrounded by spaces.

Please note that comments in the original configuration file are not preserved when writing the configuration back.

Attributes Documentation

BOOLEAN_STATES = {'0': False, '1': True, 'false': False, 'no': False, 'off': False, 'on': True, 'true': True, 'yes': True}#
NONSPACECRE = re.compile('\\S')#
OPTCRE = re.compile('\n        (?P<option>.*?)                    # very permissive!\n        \\s*(?P<vi>=|:)\\s*              # any number of space/tab,\n                                           # followed by any of t, re.VERBOSE)#
OPTCRE_NV = re.compile('\n        (?P<option>.*?)                    # very permissive!\n        \\s*(?:                             # any number of space/tab,\n        (?P<vi>=|:)\\s*                 # optionally followed , re.VERBOSE)#
SECTCRE = re.compile('\n        \\[                                 # [\n        (?P<header>.+)                     # very permissive!\n        \\]                                 # ]\n        ', re.VERBOSE)#
converters#